Skip to content

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

Пересказ статьи Brent Ozar. How to Think Like the SQL Server Engine: Included Columns Aren’t Free.

В последней статье этой серии я говорил, что если мы выполним запрос:
UPDATE dbo.Users
  SET Age = Age + 1
  WHERE Id = 643;
Продолжить чтение "Как думать подобно SQL Server: включенные столбцы не дешевы"

Как думать подобно 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: Значит поиск по индексам это замечательно, так?"