Mysql 内部默认排序

Posted bug_x

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mysql 内部默认排序相关的知识,希望对你有一定的参考价值。

mysql默认的排序:

https://forums.mysql.com/read.php?21,239471,239688#msg-239688

 

  • Do not depend on order when ORDER BY is missing.

  • Always specify ORDER BY if you want a particular order -- in some situations the engine can eliminate the ORDER BY because of how it does some other step.

  • GROUP BY forces ORDER BY. (This is a violation of the standard. It can be avoided by using ORDER BY NULL.)

SELECT * FROM tbl -- this will do a "table scan". If the table has never had any DELETEs/REPLACEs/UPDATEs, the records will happen to be in the insertion order, hence what you observed.

If you had done the same statement with an InnoDB table, they would have been delivered in PRIMARY KEY order, not INSERT order. Again, this is an artifact of the underlying implementation, not something to depend on.

 

https://stackoverflow.com/questions/8746519/sql-what-is-the-default-order-by-of-queries

以上是关于Mysql 内部默认排序的主要内容,如果未能解决你的问题,请参考以下文章

在数据库内部排序还是在代码中排序?哪个最好?

php mysql 排序 上移下移

如何看mysql版本

Mysql查询:内部连接时的文件排序,限制和排序

排序之外部排序

MySQL避免内部查询中的文件排序