mysql排序,同样的语句 查询结果不一样的问题
2024-09-04 12:12:20
一个项目,某段数据顺序出现异常导致运行异常。早期没有问题,用开发版本也没有问题,同样的查询排序语句在mysql客户端执行也没有问题。
这个排序不一致问题,这里记录下。
如下查询语句,根据‘order’字段 降序 排序的。
SELECT * FROM test.test_only ORDER BY `order` DESC
注:上图非mysql客户端正式运行结果,为方便说明的截图。这个现象在项目中容易出现,但在客户端中运行多次也没出现。
问题:如上图,同样的sql查询排序,得到的结果不一致。
原因:从图中也没清晰看出,两次结果也是符合排序语句的,只是用于排序的字段存在重复,导致重复的部分存在随机排序。
解决:在加一层排序即可。如:SELECT * FROM test.test_only ORDER BY `order` DESC,id DESC
延申:如上备注,这个问题在项目中容易出现,在mysql客户端中没有出现。
比较多的认为是缓存的原因:和数据库系统算法有关。这边的项目(禅道)情况 也存在与之相关,项目在开发环境中没有问题,在生产环境中出现该问题。在生产环境中,早期也没有问题。数据量变大后出现问题了,生产环境配置不高,因为系统仅公司内部使用。
最新文章
- C#实现DNS解析服务和智能DNS服务
- js乱码解决方法
- ffmpeg音频编码
- 聚合函数:sum,avg,max,min,count
- Daily Scrum – 1/11
- android真机自动化测试
- 用VBS脚本发邮件
- (转载)[FFmpeg]使用ffmpeg从各种视频文件中直接截取视频图片
- 【C语言】字符集和词汇
- MYSQL数据备份与还原学习笔记
- OpenCV——mixChannels函数
- Python爬虫 正则表达式
- 【WPF】DispatcherFrame 是个啥玩意儿
- EasyUI学习笔记---Datagrid真分页
- PHP中$GLOBALS和global的区别
- If嵌套
- Linux:Gentoo系统的安装笔记(二)
- lsmod语法
- 《转载》python爬虫实践之模拟登录
- Elasticsearch 异常处理