Как улучшить производительность запросов SQL Server в хранимой процедуре? - PullRequest
0 голосов
/ 09 июня 2018

У меня большая таблица, и я хотел бы знать, возможно ли повысить производительность запросов.

Выполнение простого запроса занимает несколько минут.См. План выполнения ниже: https://files.fm/down.php?cf&i=pxgp25tr&n=ep.sqlplan

Я использую Microsoft SQL Server 2016, и у меня есть эта хранимая процедура:

Как повысить производительность процедуры выше?

Это мой план выполнения:

https://www.brentozar.com/pastetheplan/?id=r1m43JclQ

Есть ли способ улучшить выбранную производительность?

1 Ответ

0 голосов
/ 09 июня 2018

Я бы добавил OPTION(RECOMPILE):

SET @SQL = @Pre + @Select + @SQL + @GroupBy
=>
SET @SQL = @Pre + @Select + @SQL + @GroupBy + ' OPTION(RECOMPILE)';

Я бы использовал это предложение для генерации плана выполнения и / или оценок мощности для динамического SQL каждый раз (это какой-то отчет, поэтому я предполагаю, чтонакладные расходы не должны быть слишком высокими). Дополнительная информация: OPTION (RECOMPILE) всегда быстрее;Почему?

Хорошая практика - заканчивать каждое утверждение точкой с запятой.

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