我在一张有相当多记录的表上遇到了慢查询。
为了减少性能问题,我创建了一个临时表,其中包含该大表的记录子集,以帮助加入其他表。虽然这大大提高了性能,但是查询大表以找出需要在登台表中插入哪些记录的过程仍然非常昂贵。
Consulting this page,我使用“代价高昂的缺失索引”查询来查看可以在大型表上应用哪些索引,但是,它建议我将几乎每列都包含在单个索引中。这让我想到了一个问题:索引应该是最常用的列,还是搜索条件中最常用的列?
答案 0 :(得分:1)
索引用于提高数据库查找与搜索条件匹配的记录的速度,因此要回答您的问题索引仅对搜索条件中使用的列有用。
将索引添加到经常提取但从不显示为搜索条件的列除了为DML操作添加额外开销之外没有其它用途,因为还必须维护索引。