У меня есть запросОптимизация вложенных операторов выбора, чтобы уменьшить время выборки
select * from
(select a.*, /*+ FIRST_ROWS(10) */ rownum rnum
from (SELECT AL.AL_UID, AL.TP_ID, AL.EVENTDATE, TP.NAME, AL.EVENT, AL.FILE_NAME,
AL.NOTES, AL.XU_NAME, AL.STATUS, AL.LOG_SOURCE, rownum
FROM AUDITLOG AL,
TRADINGPARTNER TP
WHERE (AL.LOG_SOURCE = 'File Deployment') AND TP.ID = AL.TP_ID
ORDER BY AL.EVENTDATE desc, AL.AL_UID desc
) a
where rownum < 101
)
where rnum > 0;
Это занимает около одной минуты, чтобы принести результаты. пожалуйста, дайте мне знать, как оптимизировать его, чтобы сократить время получения. Могу ли я использовать соединения здесь?
Какой результат вы действительно хотите? Вам нужны все столбцы? Если возможно, pls дают нам представление о желаемом выходе. – Dhwani
Не могли бы вы иметь только один подзапрос, а не 2? «где rownum <101 и rnum> 0» должен делать трюк нет? – Ademar
На самом деле, я не вижу необходимости в каких-либо подзапросах. Кроме того, индекс log_source, скорее всего, поможет. –