mysql - 数据库索引优化咨询

标签 mysql sql performance indexing

假设我有类似(在 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/

相关文章:

mysql - 在具有不同列名的多个表中搜索字符串

php - 多列多表sql select

c# - 将变量值和输出从 PL/SQL 代码块返回到 C#

MySql执行路径突然变化很大,不一致,速度慢

javascript - 用于 jQuery 的 Microsoft CDN 还是 Google CDN?

php - Laravel 5.4 SQLSTATE[23000] : Integrity constraint violation: 1062 Duplicate entry '0' Live website

MYSQL - 将 SUM 与 JOIN 结合使用

javascript - 如何优化 Canvas 上的动画? HTML 5

mysql - SQL - 比较 1 亿张表上的文本(组合)

php - 将两个字段合并在一起用作一个表中的复合键,但在另一个表中用作外键?