2014-12-21 169 views
0

我有上有3个索引列的表让萨耶col1, col2, col3他们都诠释索引的搜索速度更快吗?

听朋友说,如果COLUMN2有数据的真实性少(我的意思是它只有12,13,14和其他列有像随机数字),首先将条件放在该列的WHERE子句上会更快,因为mysql将首先从该点获取数据。

所以基本上,他说,第二个是快

  • select * from my_table where col1=1 and col2=2 and col3=3
  • select * from my_table where col2=2 and col1=1 and col3=3

是真的吗?我找不到关于这个主题的任何阅读材料。

+0

http://dev.mysql.com/doc/refman/5.5/en/optimization-indexes.html – cristian

回答

1

虽然“verity”是应用于数据集的术语,但它与数据库无关。我想你是在谈论基数。

在查询中声明谓词的顺序具有根本没有影响关于优化程序如何解析查询。你可以使用'explain'来轻松地测试它。

列的索引的顺序对性能有很大的影响