gpt4 book ai didi

sql - 在 UNION 中排序

转载 作者:行者123 更新时间:2023-12-04 14:17:12 25 4
gpt4 key购买 nike

在oracle中,使用UNION连接两个表是否对数据进行隐式排序?看起来确实如此,因为如解释计划窗口中所示,它显示“SORT UNIQUE”。

我的问题只是:默认情况下,它是如何或按什么列排序的?

最佳答案

它确实需要强制执行唯一性,因此它通常需要至少进行部分排序。
理论上,如果它可以通过另一种机制保证唯一性(例如,从分区键保证不重叠的指定分区中选择),它可能不会,但我还没有看到这样的例子。

但是它不需要产生排序的输出,因为它可以使用散列排序。也就是说,它将所有“A”字放在一个桶上,所有“B”字放在下一个桶上,依此类推。各个桶的内容将被排序,但查询可能会在“A”桶之前返回“B”桶的结果。

在 9i 和 10g 之间,Oracle 修改了 GROUP BY,因此它经常执行 HASH SORT。结果,很多认为 GROUP BY 意味着排序输出是理所当然的人被发现了。

关于sql - 在 UNION 中排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4965356/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com