2010-06-17 90 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