Skip to content

Как думать подобно SQL Server: что лучше - ключевые столбцы или включенные в индекс?

Пересказ статьи Brent Ozar. How to Think Like the SQL Server Engine: Should Columns Go In the Key or the Includes?



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

Как думать подобно SQL Server: более широкие индексы для борьбы с плохим T-SQL

Пересказ статьи Brent Ozar. How to Think Like the SQL Server Engine: Building Wider Indexes to Deal with Bad T-SQL



В последней статье мы столкнулись с проблемой при выполнении этих двух запросов:
Продолжить чтение "Как думать подобно SQL Server: более широкие индексы для борьбы с плохим T-SQL"

Как думать подобно SQL Server: если статистика не помогает

Пересказ статьи Brent Ozar. How to Think Like the SQL Server Engine: When Statistics Don’t Help



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

Как думать подобно SQL Server: использование статистики при построении планов запроса

Пересказ статьи Brent Ozar. How to Think Like the SQL Server Engine: Using Statistics to Build Query Plans


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

Как думать подобно SQL Server: точка перехода - что это?

Пересказ статьи Brent Ozar. How to Think Like the SQL Server Engine: What’s the Tipping Point?



В последней статье я добавил в наш запрос DisplayName и Age - два столбца, которых не было в нашем некластеризованном индексе:
Продолжить чтение "Как думать подобно SQL Server: точка перехода - что это?"

Как думать подобно SQL Server: что означает поиск ключа?

Пересказ статьи Brent Ozar. How to Think Like the SQL Server Engine: What’s a Key Lookup?


В паре наших последних статей мы использовали простой запрос для нахождения ИД тех, кто входил в систему с середины 2014 года: Продолжить чтение "Как думать подобно SQL Server: что означает поиск ключа?"

Как думать подобно SQL Server: Значит поиск по индексам это замечательно, так?

Пересказ статьи Brent Ozar. How to Think Like the SQL Server Engine: So Index Seeks are Great, Right?


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

Как думать подобно SQL Server: добавить некластеризованный индекс

Пересказ статьи Brent Ozar. How to Think Like the SQL Server Engine: Adding a Nonclustered Index


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

Новости за неделю 2020-02-22 - 2020-02-28

§ Под номером 234 выставлена новая задача от Kursist (сложность 3 балла).
Прежняя задача под этим номером перенесена в раздел головоломок под номером 262.
Продолжить чтение "Новости за неделю 2020-02-22 - 2020-02-28"

Как думать подобно SQL Server: повторяющиеся запуски запросов

Пересказ статьи Brent Ozar. How to Think Like the SQL Server Engine: Running a Query Repeatedly


Ранее в этой серии мы запускали запрос с ORDER BY, и обнаружили, что это интенсивно нагружает процессор, что утраивает стоимость запроса:
Продолжить чтение "Как думать подобно SQL Server: повторяющиеся запуски запросов"

Как думать подобно SQL Server: опасности оператора SELECT *

Пересказ статьи Brent Ozar. How to Think Like the SQL Server Engine: The Perils of SELECT *


В нашем последнем посте мы выполняли запрос с ORDER BY, но получали только один столбец в операторе SELECT:
Продолжить чтение "Как думать подобно SQL Server: опасности оператора SELECT *"