этот запрос с низкой производительностью ... что я сделал не так?Пожалуйста, помогите мне, это выполняется сотни раз в моей системе, решение, которое даст мне лестницу в небеса
Я проверил систему с помощью sp_Blitz, и никаких проблем со смертельным исходом не найдено
Вотзапрос:
SELECT MAX(F.id) OVER (PARTITION BY idstato ORDER BY F.id DESC) AS id
FROM jfel_tagxml_invoicedigi F
INNER JOIN jfel_invoice_state S ON F.id = S.idinvoice
WHERE S.idstato = @idstato
AND S.id = F.idstatocorrente
AND F.sequence_invoice % @number_service_installed = @idServizio
ORDER BY F.id DESC,
F.idstatocorrente OFFSET 0 ROWS FETCH NEXT 1 ROWS ONLY;
Вот план запроса
https://www.brentozar.com/pastetheplan/?id=SyYL5JOeE
Я могу отправить вам лично мои системные свойства
обновление: сделано несколькомодификация, это лучше, но я думаю, что это может быть лучше ... вот новый запрос:
SELECT MAX(F.id) AS id
FROM jfel_tagxml_invoicedigi F
INNER JOIN jfel_invoice_state S ON F.id = S.idinvoice
WHERE S.idstato = @idstato
AND S.id = F.idstatocorrente
AND F.sequence_invoice % @number_service_installed = @idServizio;
И новый план: https://www.brentozar.com/pastetheplan/?id=SJ-5GDqeE
обновление: внесены некоторые изменения, это лучше, но я думаю, что могло бы быть лучше ... вот новый запрос:
SELECT top 1 F.id as id
FROM jfel_tagxml_invoicedigi AS F
INNER JOIN jfel_invoice_state AS S
ON F.idstatocorrente = S.id
WHERE S.idstato= 1 AND S.id = F.idstatocorrente
and S.datastato > dateadd(DAY,-5,getdate())
AND F.progressivo_fattura % 1 = 0
ORDER BY S.datastato
и новый новый план https://www.brentozar.com/pastetheplan/?id=S1xRkL51S