У меня проблема с производительностью запросов, иногда выполнение запроса Select занимает более 10 минут. Размер таблицы составляет 26 ГБ с 8 миллионами данных.Запрос:
SELECT X.[PRIMARY], E.[COLUMN_2], E.[COLUMN_3], E.[COLUMN_4], E.[COLUMN_5]...E.[COLUMN_N]
FROM(
SELECT E.[PRIMARY], ROW_NUMBER() OVER(ORDER BY COLUMN_SORT DESC) AS RowNumber
FROM dbo.[TABLE]E WITH(NOLOCK) WHERE COLUMN_WHERE_1 = 11943 AND COLUMN_WHERE_2 = 0) X
JOIN dbo.[TABLE] E WITH(NOLOCK) on E.[PRIMARY] = X.[PRIMARY]
WHERE RowNumber > 150 AND RowNumber <= 200
ORDER BY COLUMN_SORT
У меня есть некластеризованный INDEX (COLUMN_WHERE_1, COLUMN_WHERE_2) INCLUDE (COLUMN_SORT).
План выполнения выглядит следующим образом:
У вас есть идея, как оптимизировать запрос или индекс?