Skip to content

Поколоночные индексы - что это?

Пересказ статьи Monica Rathbun. What are Columnstore Indexes?


Майкрософт продолжает повышать производительность SQL Server, вводя новые возможности. В этой статье объясняется как работать с индексами поколоночного хранения - отличным от построчного способом хранить таблицы, который значительно улучшает производительность при определенной рабочей нагрузке.
Продолжить чтение "Поколоночные индексы - что это?"

Почему Not Exist более осмыслен, чем Left Join

Пересказ статьи Erik Darling. Why Not Exists Makes More Sense Than Left Joins



Задача


Требуется найти строки в одной таблице, которым нет соответствия в другой таблице. Это может быть процесс сверки данных или же часть работы ETL, или еще что-то.
Продолжить чтение "Почему Not Exist более осмыслен, чем Left Join"

Каждый план выполнения есть предполагаемый план

Пересказ статьи Grant Fritchey. Every Execution Plan Is An Estimated Plan



Давайте поговорим о различных планах, которые можно получить в SQL Server.

Предполагаемый план (Estimated Plan)


Для генерации этого плана вместо выполнения запроса, пакета, хранимой процедуры вы в SQL Server Management Studio (SSMS) используете кнопку “Display Estimated Execution Plan” (показать предполагаемый план выполнения).
Продолжить чтение "Каждый план выполнения есть предполагаемый план"

Быстрей ли хранимые процедуры, чем автономные запросы?

Пересказ статьи Bert Wagner. Are Stored Procedures Faster Than Stand-Alone Queries?



Если ответить коротко, то оптимизатор запросов будет рассматривать запрос, определенный в хранимой процедуре точно также, как и непосредственно переданный.

Давайте обсудим почему.
Продолжить чтение "Быстрей ли хранимые процедуры, чем автономные запросы?"

Пробелы, регистр символов и другие вещи, которые мешают повторному использованию плана

Пересказ статьи Bert Wagner. Whitespace, Letter Case, and Other Things That Prevent Plan Reuse



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

Почему Parameter Sniffing не всегда плохо (хотя обычно так и есть)

Пересказ статьи Bert Wagner. Why Parameter Sniffing Isn’t Always A Bad Thing (But Usually Is)



С одной стороны, это хорошо: это означает, что SQL Server кэширует и повторно использует планы запросов, чтобы заставить их выполняться быстрее.

Parameter sniffing (прослушивание параметров) только тогда становится проблемой, когда кэшированный план далек от оптимального плана для заданных входных параметров.

Продолжить чтение "Почему Parameter Sniffing не всегда плохо (хотя обычно так и есть)"

Как я использую планы выполнения в SQL Server для решения проблем

Пересказ статьи Bert Wagner. How I Troubleshoot SQL Server Execution Plans



Сегодня я подвожу итоги моей серии статей по планам выполнения SQL Server, рассматривая конкретные шаги, которые я предпринимаю при устранении проблем с медленно выполняющимися запросами.
Продолжить чтение "Как я использую планы выполнения в SQL Server для решения проблем"

Операторы (итераторы) плана выполнения в SQL Server

Пересказ статьи Bert Wagner. SQL Server Execution Plan Operators



При исследовании плана выполнения запроса некоторые операторы возникают снова и снова в качестве виновников многих проблем с производительностью.
Продолжить чтение "Операторы (итераторы) плана выполнения в SQL Server"