假设我有类似(在 MySQL 上)的查询,
select xxx from table x
where col_a=yyy and col_b=zzz
假设我有一个 col_a 和 col_b 的组合索引。我的问题是这个组合索引比在 col_a 或 col_b 上使用单一索引有何帮助?组合索引会像我发布的那样提高查询性能吗?想知道为什么吗?谢谢。
问候, 林
最佳答案
是的,复合索引会有所帮助(除非其中一个谓词本身总是极具选择性)。
考虑一个电话簿。
如果它只是由一个键 LastName
排序,而在那些共享相同姓氏的人中没有排序,那么查找“Martin Smith”(WHERE FirstName='Martin' AND LastName=' Smith'
) 在所有其他 Smith's 中比在按 LastName,FirstName
的复合键排序的目录中查找要花费更长的时间。
关于mysql - 数据库索引优化咨询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34500118/