【发布时间】:2020-06-14 14:26:07
【问题描述】:
我们使用 db 作为 mysql 并且有一个包含 6 个字段的表,其中我们在两个字段上创建了复合索引,比如说 (A,B)。有时,当仅对字段 B 进行查询时,查询会进入慢查询雷达。复合索引是否仅对字段 B 的查询进行了全面优化?
或者我们需要在字段 B 上创建一个单独的索引以便更好地优化。
【问题讨论】:
-
"MySQL 可以将多列索引用于测试索引中所有列的查询,或者只测试第一列、前两列、前三列等的查询。 " dev.mysql.com/doc/refman/8.0/en/multiple-column-indexes.html 所以在查询 B 列时需要单独的索引。
-
发布您的查询并 SHOW CREATE TABLE table_name;有关要创建的索引的具体说明。
-
发布您的 A) 查询和 B) SHOW CREATE TABLE table_name;有关要创建的索引的具体说明。
标签: mysql performance database-design