码不尽的码 2023-05-14 10:55 采纳率: 0%
浏览 18

db2 select * 不加group by 每次查询结果顺序不一样?

db2 select * 不加group by 每次查询结果顺序不一样?
数据量20w+,没有blob字段,有主键(2个varchar字段,pk1和pk2)
select * from table 取前100条,每次结果都不一样(不走索引可以理解,但是默认排序规则都不稳定?)
select pk1,pk2 from table 取前100条,每次结果一样(走主键索引了正常)
select * from table2 取前100条,每次结果一样(table2是另一张表,数据量7k)
想问select * 为什么不稳定?和数据量有关吗?为什么另一张表没排序也稳定,这个表就不行?
别说加group by,问题就是想知道不加group by的情况下,select * 为什么不稳定。
我写的是一个跨不同类型数据库批量迁移库表的程序,库表字段都是动态的,由于数据量大要分页读写,顺序不确定分页就会有问题。可以从系统表获取全部字段加入排序,但是性能不行啊。目前我想到唯一的处理方式就是全字段排序了。
求大神仙解答!

  • 写回答

2条回答 默认 最新

  • 创意程序员 2023-05-14 11:31
    关注

    不排序的话,顺序就是随机的,group by也会排序

    评论 编辑记录

报告相同问题?

问题事件

  • 修改了问题 5月15日
  • 创建了问题 5月14日

悬赏问题

  • ¥30 网站服务器通过node.js部署了一个项目!前端访问失败
  • ¥15 WPS访问权限不足怎么解决
  • ¥15 java幂等控制问题
  • ¥15 海湾GST-DJ-N500
  • ¥15 氧化掩蔽层与注入条件关系
  • ¥15 Django DRF 如何反序列化得到Python对象类型数据
  • ¥15 多数据源与Hystrix的冲突
  • ¥15 如何在线硕士了解,广告太多,希望有真实接触过的人回答下?(标签-学习|关键词-在线硕士)
  • ¥15 zabbix6.4与frp如何进行联动
  • ¥15 如何使用Echarts制作途中时间序列表