Skip to content

Кучи в SQL Server: часть 2 - оптимизация чтений

Пересказ статьи Uwe Ricken. Heaps in SQL Server: Part 2 Optimizing Reads


Пока эта серия состоит из:

  1. Кучи в SQL Server: часть 1 - основы

  2. Кучи в SQL Server: часть 2 - оптимизация чтений (эта статья)

  3. Кучи в SQL Server: часть 3 - некластеризованные индексы


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

Кучи в SQL Server: часть 1 - основы

Пересказ статьи Uwe Ricken. Heaps in SQL Server: Part 1 The Basics



Большинство советов, которые вы видите в сети, рекомендуют избегать куч (heap). В настоящей статье дается понятие кучи, и вы сами сможете определить, когда кучи являются лучшим выбором.
Пока эта серия состоит из:

  1. Кучи в SQL Server: часть 1 - основы (эта статья)

  2. Кучи в SQL Server: часть 2 - оптимизация чтений

  3. Кучи в SQL Server: часть 3 - некластеризованные индексы

Продолжить чтение "Кучи в SQL Server: часть 1 - основы"

OPENJSON и CROSS APPLY

Пересказ статьи Marty Catherall. OPENJSON and CROSS APPLY


OPENJSON является основным средством манипуляции документами JSON в T-SQL.

Мы уже видели, что можем использовать схему по умолчанию, которая вернет метаданные о документе JSON, или же можем использовать явную схему, когда мы вводим предложение WITH и PATH - путь к требуемым данным.

Пока в наших примерах мы использовали либо схему по умолчанию, либо явную схему, но не смешивали их вместе.
Продолжить чтение "OPENJSON и CROSS APPLY"
Категории: T-SQL

OPENJSON и алиас

Пересказ статьи Marty Catherall. OPENJSON and an Alias


Использование алиасов в T-SQL является делом обычным.
Мы можем присваивать алиасы как таблицам (предложение FROM) и столбцам (предложение SELECT), так и некоторым другим вещам. Это важно для написания хороших запросов на T-SQL. Продолжить чтение "OPENJSON и алиас"
Категории: T-SQL

OPENJSON: получение данных и PATH - часть 2

Пересказ статьи Marty Catherall. OPENJSON Getting to the data, and the PATH – PART II


Мы видели как вытащить данные из документа JSON в реляционную таблицу, используя явную схему, которая была определена в предложении WITH табличнозначной функции OPENJSON. Продолжить чтение "OPENJSON: получение данных и PATH - часть 2"
Категории: T-SQL

OPENJSON: Получение данных и PATH - часть 1

Пересказ статьи Marty Catherall. OPENJSON Getting to the data, and the PATH – PART I


Недавно мы использовали FOR JSON PATH для преобразования табличных данных (взятых непосредственно из таблицы SQL) в документ JSON.
PATH, о котором мы говорим здесь, используется с OPENJSON для получения данных, которые содержатся в документе JSON.

Мы видели пример OPENJSON и читали данные с явной схемой.
Продолжить чтение "OPENJSON: Получение данных и PATH - часть 1"
Категории: T-SQL

OPENJSON, явная схема и тип данных

Пересказ статьи Marty Catherall. OPENJSON, explicit schema and data type


Когда мы читали данные из документа в табличный формат, то указывали такие столбцы:
* value (значение)
* minimum (минимум)
* maximum (максимум)
* value_in_use (используемое значение)
* description (описание)

Продолжить чтение "OPENJSON, явная схема и тип данных"
Категории: T-SQL

Почему порядок не гарантируется без ORDER BY

Пересказ статьи Brent Ozar. Why Ordering Isn’t Guaranteed Without an ORDER BY


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

Как отследить производительность запросов, которые используют хинты RECOMPILE

Пересказ статьи Brent Ozar. How to Track Performance of Queries That Use RECOMPILE Hints



Пусть у нас есть хранимая процедура, которая содержит два запроса - второй запрос использует хинт RECOMPILE (тут есть статья по теме):
Продолжить чтение "Как отследить производительность запросов, которые используют хинты RECOMPILE"

Секреты индексов и внешних ключей

Пересказ статьи Rafaelo Condret. The Secrets of Indexes and Foreign Keys



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