列顺序在mysql中重要吗?

列顺序在mysql中重要吗?,mysql,indexing,Mysql,Indexing,我在某处读到mysql中的列顺序很重要。我相信他们指的是索引列 问题:如果列顺序很重要,那么什么时候以及为什么重要 我问这个问题的原因是因为我在mysql中有一个类似于下面的表。 主索引在左边,我在最右边有一个索引。这不好吗? 它是一个MyISAM表,主要用于选择(无插入、删除或更新) 列顺序仅在定义索引时才重要,因为这会影响索引是否适合用于执行查询。(这适用于所有RBDM,而不仅仅是MySQL) e、 g 在列MyIndex(a,b,c)上按该顺序定义的索引 查询,如 select a fro

我在某处读到mysql中的列顺序很重要。我相信他们指的是索引列

问题:如果列顺序很重要,那么什么时候以及为什么重要

我问这个问题的原因是因为我在mysql中有一个类似于下面的表。 主索引在左边,我在最右边有一个索引。这不好吗? 它是一个MyISAM表,主要用于选择(无插入、删除或更新)


列顺序仅在定义索引时才重要,因为这会影响索引是否适合用于执行查询。(这适用于所有RBDM,而不仅仅是MySQL)

e、 g

在列
MyIndex(a,b,c)
上按该顺序定义的索引

查询,如

select a from mytable
where c = somevalue
可能不会使用该索引执行查询(取决于行数、列选择性等因素)

然而,它很可能会选择使用定义为
MyIndex2(c,a,b)


更新:见(谢谢格雷格)。

我无法想象订单的重要性。这在低级别上可能很重要,但DBMS肯定可以优化这一点,所以您永远不必担心这样的事情。我希望看到关于这一点的权威性答案。这是正确的,请阅读相关信息。因此,如果我理解正确,当索引应用于多个列(复合索引)时,列的顺序很重要。在我上面的例子中,索引只在一列上,这应该不是问题。这听起来对吗?
select a from mytable
where c = somevalue