SQL查询花费比预期更长的时间,如何优化它?

时间:2018-10-14 11:48:02

标签: sql oracle performance

select UPPER(x_col_name)  
from xyz_table  
where x_id = 2;

上层查询的判断结果为abc_column

WITH ref_data AS (  
SELECT MIN(abc_column_date) ref_date
FROM abc_table
WHERE
    abc_id = 6  
) SELECT abc_column, abc_column_date - ref_date age  
FROM abc_table, ref_data  
WHERE  abc_id = 6

第一个查询平均需要0.27秒,而最后一个查询则需要40秒钟以上,考虑到我不想进行索引编制,我还有其他选择吗?

1 个答案:

答案 0 :(得分:0)

我认为这可以满足您的要求

SELECT abc_column,
       ( abc_column_date - MIN(abc_column_date) OVER () ) as age
FROM abc_table
WHERE abc_id = 6;

它应该更快。但是,如果要加快查询速度,则不应排除索引。