SQL плохая производительность плана выполнения хранимой процедуры - сниффинг параметра

Не уверен, что я что-то здесь упускаю, но из того, что я использую ZebraDesigner 2.2.3 (сборка 4271), я могу просто нажать кнопку «Печать», установить флажок «Печать в файл» и вывести в * .prn. файл, откройте этот файл с помощью блокнота и код там.

10
задан Justin 17 June 2009 в 15:08
поделиться

2 ответа

В основном да - анализ параметров (на некоторых уровнях исправлений) SQL Server 2005 сильно нарушен. Я видел планы, которые фактически никогда не завершаются (в течение нескольких часов на небольшом наборе данных) даже для небольших (несколько тысяч строк) наборов данных, которые завершаются за секунды после маскировки параметров. И это в тех случаях, когда параметр всегда был одним и тем же номером. Я бы добавил, что в то же время, когда я имел дело с этим, я обнаружил много проблем с невыполнением LEFT JOIN / NULL, и я заменил их на NOT IN или NOT EXISTS, и это разрешило план до чего-то, что будет завершено. Опять же, (очень плохой) план выполнения. В то время, когда я имел дело с этим, администраторы баз данных не давали мне доступа к SHOWPLAN, и, поскольку я начал маскировать каждый параметр SP, я '

7
ответ дан 4 December 2019 в 02:26
поделиться

Одним из способов, которым я смог обойти эту проблему в (SQL Server 2005) вместо простого маскирования параметров путем повторного объявления локальных параметров, было добавление подсказок оптимизатора запросов.

Вот хороший сообщение в блоге, в котором говорится об этом больше: Анализ параметров в SqlServer 2005

Я использовал: OPTION (оптимизировать для (@p = '-1'))

1
ответ дан 4 December 2019 в 02:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: