Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Oracle 提高查询性能_Oracle_Sql Order By_Coalesce_Sqlperformance - Fatal编程技术网

Oracle 提高查询性能

Oracle 提高查询性能,oracle,sql-order-by,coalesce,sqlperformance,Oracle,Sql Order By,Coalesce,Sqlperformance,我最近遇到了一个案例,其中SELECT语句的整体速度非常快(0.06秒),但这部分耗时20秒: 聚结(T1.树,T1.树,T1.花)ASC 用于:按合并顺序(T2.树,T2.树,T2.花)ASC,T1.衬衫) T1和T2是同一个表的别名,而T2用于左外联接 对于聚结(T2.树,T2.树,T2.花)ASC部件,是否有其他性能更好的替代方案? (正如我在其他文章中读到的,COALESCE(x,y)没有充分利用索引这一事实可能会起到同样的作用)。因此,假设trees列已被索引。) 干杯, udifel

我最近遇到了一个案例,其中SELECT语句的整体速度非常快(0.06秒),但这部分耗时20秒:

聚结(T1.树,T1.树,T1.花)ASC

用于:按合并顺序(T2.树,T2.树,T2.花)ASC,T1.衬衫)

T1和T2是同一个表的别名,而T2用于左外联接

对于聚结(T2.树,T2.树,T2.花)ASC部件,是否有其他性能更好的替代方案? (正如我在其他文章中读到的,COALESCE(x,y)没有充分利用索引这一事实可能会起到同样的作用)。因此,假设trees列已被索引。)

干杯,
udifel

选择返回部分结果还是全部结果需要0.06秒?例如,如果在sqldeveloper或Toad中运行,最初只会返回结果的第一页。如果没有按排序,这可能会非常快,但是如果是按排序,Oracle可能必须选择整个结果集,对它们进行排序,然后才给您结果的第一页。请注意:
衬衫
不是表列名,而是查询结果别名,我猜(或者更确切地说是希望:-)。“对吗?”托尼·安德鲁斯:这是个好主意。当然,一个可以在0.06秒内读取的结果集很难在20秒内进行排序。