首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在mysql中列顺序重要吗?

在mysql中列顺序重要吗?
EN

Stack Overflow用户
提问于 2012-05-27 06:21:09
回答 1查看 1.2K关注 0票数 3

我在某个地方读到,mysql中的列顺序很重要。我相信他们指的是索引栏。

问题:如果列顺序很重要,什么时候和为什么重要?

我之所以问这个问题,是因为我在mysql中有一个与下面类似的表。主索引在左边,我在极右有一个索引。这很糟糕吗?它是一个MyISAM表,主要用于选择(没有插入、删除或更新)。

代码语言:javascript
复制
-----------------------------------------------
|  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   |
-----------------------------------------------
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-05-27 06:32:47

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

例如:

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

查询,例如

代码语言:javascript
复制
select a from mytable
where c = somevalue

可能不会使用该索引来执行查询(取决于多个因素,如行数、列选择性等)

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

更新:见use-the-index-luke.com (谢谢格雷格)。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10772070

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档