2014-12-21 165 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'來輕鬆地測試它。

列的索引的順序對性能有很大的影響