开发者社区> 问答> 正文

adb3.0排序查询,等值顺序不固定问题

  • 使用adb3.0查询,order by之后的字段出现值相等的情况,则这两个等值记录出现的顺序是不固定的(随机);
  • 想请教下出现这个问题的原因是什么?(主要想了解是哪些技术架构导致查询会出现这个情况,因为即使走全表扫描,或是where后面只跟一个字段,order by 也跟where后的过滤字段,仍会出现这个情况)

展开
收起
1428146171087716 2020-01-07 17:28:45 1923 0
1 条回答
写回答
取消 提交回答
  • 如果指定ORDER BY语句,数据库将对行进行排序,并按请求的顺序返回。 但是,如果该顺序不是确定性的,即值重复,则在每个具有相同值的组中,由于很多可以改变顺序的因素(并行的HASH连接),该顺序是“随机的”。   确保确定性顺序的唯一方法是在ORDER BY子句中包含保证的唯一列或列组(例如主键)。

    2020-01-09 09:15:57
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
消电行业数据中台解决方案白皮书 立即下载
(终极版)2020阿里云金融数据中台报告 立即下载
2020年中国乳制品行业数据中台研究报告 立即下载