我在某个地方读到,mysql中的列顺序很重要。我相信他们指的是索引栏。
问题:如果列顺序很重要,什么时候和为什么重要?
我之所以问这个问题,是因为我在mysql中有一个与下面类似的表。主索引在左边,我在极右有一个索引。这很糟糕吗?它是一个MyISAM表,主要用于选择(没有插入、删除或更新)。
-----------------------------------------------
| Primary index | data1| data2 | d3| Index |
-----------------------------------------------
| 1 | A | cat | 1 | A |
| 2 | B | toads | 3 | A |
| 3 | A | yabby | 7 | B |
| 4 | B | rabbits | 1 | B |
-----------------------------------------------发布于 2012-05-27 06:32:47
列顺序仅在定义索引时才是重要的,因为这会影响索引是否适合用于执行查询。(所有RBDMS都是如此,而不仅仅是MySQL)
例如:
按该顺序在列MyIndex(a, b, c)上定义索引。
查询,例如
select a from mytable
where c = somevalue可能不会使用该索引来执行查询(取决于多个因素,如行数、列选择性等)
然而,它很可能选择使用定义为MyIndex2(c,a,b)的索引。
更新:见use-the-index-luke.com (谢谢格雷格)。
https://stackoverflow.com/questions/10772070
复制相似问题