Skip to content

Почему параллельные запросы в SQL Server иногда выполняются медленно

Пересказ статьи Joe Obbish. Why Parallel Queries are Sometimes Slow In SQL Server


Вы можете заметить большой разброс в прошедшем времени (elapsed time) для параллельных запросов во время выполнения настройки запроса или наблюдения за рабочей нагрузкой. Эта статья рассматривает некоторые из возможных объяснений этого разброса. Я выполняю тестирование на SQL Server 2022 RC0, но это поведение может наблюдаться на всех поддерживаемых в настоящее время версиях SQL Server.
Продолжить чтение "Почему параллельные запросы в SQL Server иногда выполняются медленно"

PSPO: Как SQL Server 2022 пытается решить проблему прослушивания параметра

Пересказ статьи Brent Ozar. PSPO: How SQL Server 2022 Tries to Fix Parameter Sniffing


Прослушивание параметра (parameter sniffing) является пресловутой проблемой для Microsoft SQL Server, поскольку он пытается повторно использовать планы выполнения, которые неважно работают для параметров, изменяющихся в широких диапазонах. Вот базовый пример, почему это происходит.

В SQL Server 2022 введена новая функция, называемая оптимизация плана, чувствительного к параметрам. Я действительно не понимаю, почему Microsoft пишет с заглавных букв только первые три слова (Parameter Sensitive Plan optimization), а не все, или почему они пишут аббревиатуру как “PSP optimization”, если нам это понадобится, почему не назвать это PSPO? Оптимизация - это слово, которое здесь имеет наибольшее число слогов - так почему мы именно его выводим за пределы аббревиатуры? Продолжить чтение "PSPO: Как SQL Server 2022 пытается решить проблему прослушивания параметра"

Различные способы параметризации запросов в SQL Server

Пересказ статьи Erik Darling. Different Ways To Parameterize Queries In SQL Server


Важность параметризации


Параметризация дает запросам несколько преимуществ.

  • Возможность лучшего использования кэша планов, что обычно означает меньшее время на компиляцию и перекомпиляцию запросов.

  • Ваши запросы станут более безопасными, поскольку они не будут подвержены атакам SQL-инъекции, которая весьма распространена.

Продолжить чтение "Различные способы параметризации запросов в SQL Server"

Почему типы данных MAX обычно оказываются плохим выбором для столбцов SQL Server

Пересказ статьи Erik Darling. Why MAX Data Types Are Usually A Bad Choice For SQL Server Columns


Когда вы пытаетесь выяснить как хранить строковые данные, часто кажется самым простым вариантом выбрать очень длинный - даже MAX - тип данных, чтобы избежать впоследствии ошибок усечения.

Даже если вы сохраняете строки известной абсолютной длины, разработчики могут не использовать это в приложении либо посредством раскрывающегося меню, либо с помощью другой формы проверки. Продолжить чтение "Почему типы данных MAX обычно оказываются плохим выбором для столбцов SQL Server"