MySQL在多个索引的情况下的默认排序规则是什么?能否指定默认排序索引?

luchong2000 2009-03-17 11:16:58
如果一张表中,有两个索引,比如说表结构如下的例子:
A_ID int Auto_Incr
A_TEXT char 255

A_ID为unique的Index,我们增加如下的数据
1,AA
2,CC
3,BB
此时select(不用order by)出来的A_ID顺序就是1,2,3

但当我们给A_TEXT也增加索引(非unique)时,再select(不用order by)出来,顺序是1,3,2

大家都知道,想要给A_ID排序那只要order by A_ID就OK了,但是由于数据比较大,百万甚至千万级别,再需要多表关联查询,如果order by 一下,会花去大量时间.
因此,我想,有没有什么办法在表中有多个索引时,指定默认的排序方式?
...全文
1612 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
yangf2008 2011-06-28
  • 打赏
  • 举报
回复
Mysql 默认就是根据主键进行排序的
luchong2000 2009-03-17
  • 打赏
  • 举报
回复
找到原因了,是因为我先做表,然后加数据,再加其它索引,MySQL的默认排序就乱了
但如果先把索引都加好,然后添加数据,就会按照主键默认排序了.

谢谢各位朋友的关注.
WWWWA 2009-03-17
  • 打赏
  • 举报
回复
用你上述数据,你要求的结果是什么?
ACMAIN_CHM 2009-03-17
  • 打赏
  • 举报
回复
索引的排序是数据库系统自身控制的。 显示的时候的排序应该由用户在SQL语句中用order by 确定.感觉你楼上的方法,先建索引再加数据,应该还是会有乱序的情况。

56,677

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧