mysql排序遇到了问题

发布于 2022-09-11 20:20:15 字数 575 浏览 21 评论 0

mysql order by 排序部分主键没有默认升序

请看下面的例子

有问题的

我是按照relate_data降序的,那主键ID应该自己默认是升序的,relate_data 的2 和 1 对应的ID都是升序的,但是3就不是升序的,对应3的两条ID是降序排列的

clipboard.png

疑惑的地方

如果我把id 773448 改成7733** 排序就没有没问题

clipboard.png

疑惑

就因为id和其他的不是7733** 的吗?我改成7735**也是会出现relate_data 3 对应的ID 也是降序的,我可以加上id asc 是可以解决的,只是很奇怪,为什么ID不同情况还不一样


如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

我家小可爱 2022-09-18 20:20:16

在mysql权威指南找到了解释,(我确实删除了不少数据)以后有排序的最好还是自己加上条件,不能太依赖数据库的默认排序

clipboard.png

趁年轻赶紧闹 2022-09-18 20:20:16

mysql没有承诺默认主键ID升序,一般来说mysql会按照最高效率方式排序,一般会使用主键索引所以主键会有一定次序,但mysql也没做过这样的保证,在某些情况下,主键无序更快,那么mysql不会默认主键升序。

微凉徒眸意 2022-09-18 20:20:16

MySQL的排序算法是不稳定排序

原野 2022-09-18 20:20:16

用InnoB

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文