开发者社区> 问答> 正文

SQL:查询的默认“排序依据”是什么?

ORDER BY使用no时查询的默认顺序是什么?

展开
收起
保持可爱mmm 2020-05-11 11:31:59 581 0
1 条回答
写回答
取消 提交回答
  • 没有这样的命令。取自http://forums.mysql.com/read.php?21,239471,239688#msg-239688

    缺少ORDER BY时不要依赖顺序。

    如果需要特定的订单,请始终指定ORDER BY-在某些情况下,引擎可以消除ORDER BY,因为它可以执行其他一些步骤。

    GROUP BY强制ORDER BY。(这违反了标准。可以通过使用ORDER BY NULL来避免。) SELECT * FROM tbl-这将执行“表扫描”。如果表从未有过任何DELETE / REPLACE / UPDATE,则记录将恰好位于插入顺序中,因此可以观察到。

    如果您对InnoDB表执行了相同的语句,则它们将以PRIMARY KEY顺序而不是INSERT顺序传递。同样,这是基础实现的产物,而不是要依赖的东西。来源:stack overflow

    2020-05-11 11:32:10
    赞同 展开评论 打赏
问答分类:
SQL
问答地址:
问答排行榜
最热
最新

相关电子书

更多
SQL Server在电子商务中的应用与实践 立即下载
GeoMesa on Spark SQL 立即下载
原生SQL on Hadoop引擎- Apache HAWQ 2.x最新技术解密malili 立即下载