问题描述:
oracle 9i 下的Group By 后面不加order by ,以前都有默认排序的,现在换成11g后就没有排序了
分析:
9i没有hash group by,10g才有_gby_hash_aggregation_enabled 是隐含参数
普通show parameter查不到的
方法:
1、在SYS用户下执行SQL:
select ksppinm NAME, ksppstvl VALUE
from x$ksppi pi, x$ksppcv cv
where cv.indx = pi.indx
and pi.ksppinm like '%_gby_hash_aggregation_enabled%';
NAME
--------------------------------------------------
VALUE
--------------------------------------------------
_gby_hash_aggregation_enabled
TRUE
2、修改参数:
ALTER SYSTEM SET "_gby_hash_aggregation_enabled" = FALSE;
本文分析了从Oracle 9i升级到11g后,Group By行为的变化,特别是在去除默认排序这一特性上的不同。文章提供了如何检查_gby_hash_aggregation_enabled参数的方法,并介绍了如何调整该参数来恢复旧版的行为。
1043

被折叠的 条评论
为什么被折叠?



