GBase 8a
其他
问答
关于ROW_NUMBER()开窗函数排序问题
发表于2025-09-17 16:40:53173次浏览18个评论
为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【GBase版本】: 9.5.3
【操作系统】: centos7
【CPU】:
【问题描述】*: 使用ROW_NUMBER() OVER(ORDER BY 字段)时,未按照字段排序(外层sql未加排序)。偶发性,有时会按照字段排序。不清楚这个机制是怎样的。
悬赏:2吉币
回答被发帖人采纳后可获得赏金
评论
登录后才可以发表评论

GBase社区管理员发表于 10个月前
满心发表于 10个月前
@社区管理员:应该说是相同的方式,有些查询会有些查询不会。涉及业务数据,我造一个表示例。发现如下问题,适合执行计划有关系吗。




GBase社区管理员发表于 10个月前
@满心:
从执行计划上应该没有区分。可能和结果返回有关。如果需要排序则在外层强制指定即可。
目前这样的表现是会对业务使用有何影响么
满心发表于 10个月前
@社区管理员:从oracle迁移至Gbase8a有许多的报表查询都是这个方式的,改动可能会比较大,oracle是不需要外层再次指定的。希望后续可以优化下。这种二次排序对于性能是否有影响。

GBase社区管理员发表于 10个月前
@满心:
好的。这个我们内部会记录分析一下。
目前看应该是多节点返回结果导致乱序。
还需分析一下触发多节点返回的规则
佛洛伊得发表于 10个月前
同问
佛洛伊得发表于 10个月前
难道不完善
佛洛伊得发表于 10个月前
还有很长的路要走
佛洛伊得发表于 10个月前
加油
佛洛伊得发表于 10个月前
gbase最厉害

GBase社区管理员发表于 10个月前
当前是什么版本集群。
如果该版本集群有_gcluster_order_by_with_rowid参数的话,可以开启这个参数试一下
满心发表于 9个月前
@社区管理员:我看到有这个参数

满心发表于 9个月前
@社区管理员:_gcluster_order_by_with_fixed_order我看社区文档里有这个参数,但是实际上数据库没有;
show variables;
show variables;

GBase社区管理员发表于 9个月前
@满心:
953.27版本集群上没有这个参数功能。
如果确实有需要,可以向售后人员申请合入该功能的版本,进行集群版本升级以支持该功能。
满心发表于 9个月前
@社区管理员:https://www.gbase.cn/community/post/581是看的这个文档
崔哥发表于 7个月前
江南腊尽,早梅花开后,分付新春与垂柳。细腰肢自有入格风流,仍更是、骨体清英雅秀。永丰坊那畔,尽日无人,谁见金丝弄晴昼?断肠是飞絮时,绿叶成阴,无个事、一成消瘦。又莫是东风逐君来,便吹散眉间一点春皱。
热门帖子
- 12025-12-01浏览数:182759
- 22023-05-09浏览数:25044
- 42023-09-25浏览数:18519
- 52020-05-11浏览数:17526

是相同的SQL语句执行时,有时会触发排序。有时不会排序吗?
能否给出示例语句