mysql - 从左到右读取 MySQL 索引,是表 col 顺序计数还是仅索引顺序?

标签 mysql indexing

查询表时,重要的是索引的顺序,而不是表中实际列的顺序,对吧?

所以如果你有一个 4 列的表......

col1   |   col2   |   col3   |   col4

并制作一个有序的索引...

col4, col2, col3

那么只要你的查询符合索引的顺序,就会使用索引,对吧...?

WHERE col4 = "blah" AND col2 = "blah" and col3 = "blah"

干杯

最佳答案

一般来说,重要的是索引中列的顺序,而不是表本身。但是,您在 where 子句中编写条件的顺序也无关紧要。重要的是引擎是否可以使用一个或多个索引来获取与 where 子句中的条件匹配的行。在您的示例中,可以使用索引,但如果您仅从 where 中删除了 col4,即使其他列位于 where 和索引。

关于mysql - 从左到右读取 MySQL 索引,是表 col 顺序计数还是仅索引顺序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20013170/

相关文章:

mysql - 单独序列表中的 JPA 主键

mysql:对索引字段的慢查询

Mysql:2个ID的主键内部连接给出 "Range checked for each record"

mysql - MySQL 中的哈希索引算法

mysql - 如何为列值的组合选择行

php - 重复的名字

mysql - 慢速 MySQL 查询的索引

mysql - 优化 MySQL 查询时出现问题

mysql - 如何用 JOIN 替换 IN 子句?

r - 是否有一种优雅的内置方法可以在 R 中进行模索引?