SQL-запрос занимает гораздо больше времени, чем ожидалось, как его оптимизировать? - PullRequest
0 голосов
/ 14 октября 2018
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 голосов
/ 14 октября 2018

Я думаю, что это то, что вы хотите:

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

И это должно быть быстрее.Однако не следует исключать индексы, если вы пытаетесь ускорить свои запросы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...