MySQL索引到左边?

时间:2013-04-30 04:30:50

标签: mysql

我已经读过左边的MySQL索引,所以如果我在两列field1field2之间创建索引,我可以这样做:

 SELECT .. FROM .. WHERE `field1` = 'x' AND `field2` = 'y';

 SELECT .. FROM .. WHERE `field1` = 'x';

两者都没问题?我问,因为有时它会被两个列查询,有时只是第一个查询。或者两个场景有两个不同的指数会更好吗?

2 个答案:

答案 0 :(得分:1)

Simontemplar,你是对的。两个查询都是正确的。只要你没有跑步:

 SELECT .. FROM .. WHERE `field2` = 'y' AND `field1` = 'x';

 SELECT .. FROM .. WHERE `field2` = 'y';

保持组合索引应该不是问题。

答案 1 :(得分:0)

是的,双列索引可以使两个查询都受益。无需创建两个索引。

实际上,工具pt-duplicate-key-checker会将单列索引报告为冗余。