栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

mysql:如何在不重新排序的情况下在LEFT JOIN之后保存ORDER BY?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

mysql:如何在不重新排序的情况下在LEFT JOIN之后保存ORDER BY?

(说明损失

ORDER BY

SQL标准从本质上说,子查询是无序的行集。这意味着优化器可以随意忽略

ORDER BY
“派生”表中的
FROM ( SELECT ... ORDER BY)
。在MySQL和MariaDB的“最新”版本中,此类
ORDER BYs
已被删除。还有其他情况
ORDER BY
被忽略。

某些 情况下(不确定这一点),在优化程序欺骗

LIMIT 99999999
后添加一个(大数字)。但是,以后仍然可以随意忽略“顺序”。
ORDERBY``ORDER BY

MySQL的一般规则:避免子查询。(在某些情况下,子查询速度更快,但不是您的。)

一个强大的规则:你 必须 有一个

ORDER BY
,如果你想要的结果进行排序的最外层。

如果您

LIMIT 3
在第一个查询中已将其添加到派生表中,则只会得到CHARLES,DAVID,JAMES, 但不一定按该顺序
。也就是说,您将需要两个
ORDER BYs
-一个在派生表中,一个在最后。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/670229.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号