У меня есть запрос снежинки с несколькими ctes и вставка в таблицу с помощью задания Talend. Выполнение запроса занимает более 90 минут. Это несколько каскадных ctes, один вызывает другой, а другой вызывает другой.
Я хочу улучшить производительность запроса. Это как 1000 строк кода, и я не могу вставить его здесь. Когда я проверил профиль, и он показывает все оконные и агрегатные функции, что замедляет запрос.
Например, верхняя медленнее,
ROW_NUMBER() OVER (PARTITION BY LOWER(S.SUBSCRIPTIONID)
ORDER BY S.ISROWCURRENT DESC NULLS FIRST,
TO_NUMBER(S.STARTDATE) DESC NULLS FIRST,
IFF(S.ENDDATE IS NULL, '29991231', S.ENDDATE) DESC NULLS FIRST)
занимает 7,3% от время. Можете ли вы предложить альтернативный способ повышения производительности запроса, пожалуйста?