【发布时间】:2017-03-05 22:37:42
【问题描述】:
我有一个包含两个字段 field1 和 field2 的表“test”,并创建了一个复合索引 field1_field2(field1, field2)。 这是一个sql:select * from test force index(field1_field2) where field1 > 100 and field2 = 2 limit 200
而且它运行得不是很好。 我解释了一下,发现只有索引查询使用的field1条件,field2条件被忽略了....
我想知道为什么,我需要一个完美的答案
field1 > 100 的数据很多,field2 = 2 的数据很多
【问题讨论】:
-
尝试将您的索引列交换为
(field2, field1)。 -
另外,请阅读here。
标签: mysql indexing composite-index