Skip to content

Сканирование поколоночного индекса

Пересказ статьи Hugo Kornelis. Columnstore Index Scan


Введение


Columnstore Index Scan фактически не является оператором. Вы можете встретить его в графических планах выполнения SSMS (или других инструментов), но если вы посмотрите на лежащий в основе плана выполнения XML, то увидите, что это либо оператор Index Scan, либо Clustered Index Scan. Продолжить чтение "Сканирование поколоночного индекса"

Поиск в кластеризованном индексе (Clustered Index Seek)

Пересказ статьи Hugo Kornelis. Clustered Index Seek


Введение


Оператор Clustered Index Seek использует структуру кластеризованного индекса для эффективного поиска как отдельных строк (singleton seek), так и конкретных подмножеств строк (range seek). Поскольку кластеризованный индекс всегда содержит все столбцы таблицы, Clustered Index Seek является одним из наиболее эффективных приемов, который применяет SQL Server для поиска отдельных строк и небольших диапазонов при условии наличия фильтра, который может быть эффективно использован. Продолжить чтение "Поиск в кластеризованном индексе (Clustered Index Seek)"

Поиск в индексе (Index Seek)

Пересказ статьи Hugo Kornelis. Index Seek



Введение


Оператор Index Seek использует структуру некластеризованного индекса для эффективного поиска как отдельных строк (singleton seek), так и конкретных подмножеств строк (range seek). ( Когда SQL Server требуется прочитать отдельные строки или небольшие подмножества строк из кластеризованного индекса, он использует другой оператор: Clustered Index Seek).
Продолжить чтение "Поиск в индексе (Index Seek)"

TOP или Max/Min: есть ли разница?

Пересказ статьи Mike Byrd. TOP vs Max/Min: Is there a difference


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

Продолжить чтение "TOP или Max/Min: есть ли разница?"

Может ли удаление строк сделать таблицу...больше?

Пересказ статьи Brent Ozar. Can deleting rows make a table…bigger?


Michael J. Swart задал интересный вопрос: его таблица содержала 7,5 миллиардов строк и 5 индексов. При удалении 10 миллионов строк он обратил внимание, что индексы стали больше, а не меньше.

Продолжить чтение "Может ли удаление строк сделать таблицу...больше?"

Использование HierarchyID в SQL Server на простых примерах

Пересказ статьи Edwin Sanchez. How to Use SQL Server HierarchyID Through Easy Examples


Вы еще используете родительско-дочерний подход или хотели бы попробовать что-то новое типа hierarchyID? Да, это относительно новое, поскольку hierarchyID появился в SQL Server 2008. Конечно, новизна, сама по себе, не является аргументом. Однако заметьте, что Microsoft добавил эту функциональность для лучшего представления многоуровневых отношений один-ко-многим. Продолжить чтение "Использование HierarchyID в SQL Server на простых примерах"

Query memory grants. Часть 2: Varchar и сортировка

Пересказ статьи Arthur Daniels. Query memory grants part 2: Varchars and sorting


Какого черта мы сделали все наши столбцы varchar? Это гипотетический вопрос, извините.

И теперь мы должны заплатить за наши решения. Рассмотрим запрос, который должен выполнить некоторую сортировку. Давайте возьмем таблицу, которую нужно отсортировать.
Продолжить чтение "Query memory grants. Часть 2: Varchar и сортировка"

Query memory grants. Часть 1: куда девается память?

Пересказ статьи Arthur Daniels. Query memory grants part 1: Where does the memory go?


Давайте поговорим о том, как запросы используют память, а именно, в плане выполнения. Одним из операторов запроса, который использует память, является сортировка. Чтобы продемонстрировать это, я напишу запрос с предложением ORDER BY и покажу план выполнения.
Продолжить чтение "Query memory grants. Часть 1: куда девается память?"