2010-06-17 116 views
1

這可能是一個愚蠢的問題,但我不禁要問,只是爲了驗證。多列mysql索引

根據MySQL的文檔,

如果您對(COL1,COL2,COL3,COL4),你已經索引上(COL1),(COL1,COL2)的搜索功能,(COL1 4列索引,col2,col3)和(col1,col2,col3,col4)。我的問題是,(col1,col3,col4)或(col1,col2,col4)怎麼樣?

回答

3

正如你所說,

 
(col1, col3, col4) : Only for col1 
(col1, col2, col4) : Only for col1, col2 

看看Multiple-Column IndexesHow MySQL Uses Indexes

編輯:噢..順便說一下,EXPLAIN EXTENDED SELECT ...讓您看到MySQL的將是什麼指標用於查詢。

+1

有多難過。這意味着我需要(col1,col2,col3,col4)的索引和(col1,col3,col4) – 2010-06-17 08:41:20

+0

+1的另一個索引,請注意:在編輯時可以修復鏈接 – Unreason 2010-06-17 08:42:14

+0

鏈接有什麼問題?在這裏工作.. – simendsjo 2010-06-17 09:56:32