如果一张表中,有两个索引,比如说表结构如下的例子:
A_ID    int    Auto_Incr
A_TEXT  char   255A_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 一下,会花去大量时间.
因此,我想,有没有什么办法在表中有多个索引时,指定默认的排序方式?

解决方案 »

  1.   

    找到原因了,是因为我先做表,然后加数据,再加其它索引,MySQL的默认排序就乱了
    但如果先把索引都加好,然后添加数据,就会按照主键默认排序了.谢谢各位朋友的关注.
      

  2.   

    索引的排序是数据库系统自身控制的。 显示的时候的排序应该由用户在SQL语句中用order by 确定.感觉你楼上的方法,先建索引再加数据,应该还是会有乱序的情况。
      

  3.   

    Mysql 默认就是根据主键进行排序的