Oracle 11g非常慢 - 性能低下

时间:2017-11-21 10:08:38

标签: sql oracle unpivot

我的查询的unpivot查询性能非常低,运行速度非常慢,需要大约11秒执行,而基于它的base查询需要大约60毫秒才能执行。

base查询很复杂,有几个连接,但只返回几行。

Unpivot在~7个分组列上运行,并且在40个列之间进行疏忽。

解释查询计划没有显示任何细节,只显示了未开发的费用非常高。

1 个答案:

答案 0 :(得分:1)

要尝试的一件事是对WITH查询使用base子句。

而不是

SELECT * from (SELECT my_data, ...) UNPIVOT (...) 

尝试

WITH base as (select my_data, ...) select * from base UNPIVOT (...)

在我的情况下,它将查询时间减少了10倍。