Пересказ статьи Erik Darling. Are Self Joins Ever Better Than Key Lookups?
Подобно большинству трюков, этот имеет конкретный случай применения, но может оказаться весьма эффективным, когда вы это заметите.
Я исхожу из того, что вы имеете довольно расплывчатое представление о прослушивании параметра (
parameter sniffing ) с использованием хранимых процедур. Если это не так, то данная публикация не будет иметь большого смысла.
Продолжить чтение "Является ли самосоединение лучше, чем поиск ключа?"
Пересказ статьи Erik Darling. Query Plan Operators That Hide Work
При чтении планов запросов вы можете столкнуться с огромным количеством информации, часть которой может помочь лишь косвенно.
Иногда, когда я объясняю планы запросов людям, я чувствую себя механиком, который просто знает то место, где двигатель производит конкретное дребезжание.
Продолжить чтение "Операторы плана запроса, которые скрывают работу"
Пересказ статьи Erik Darling. An Unfortunate Side Effect Of OUTPUT
Время от времени я встречаю людей, которые используют
OUTPUT для аудита модификаций чаще всего потому, что "триггеры - это плохо" или "триггеры медленные".
Хорошо, иногда это действительно так. Но использование OUTPUT тоже может быть неудачным решением.
Продолжить чтение "Неприятный побочный эффект OUTPUT"
Пересказ статьи Uwe Ricken. Heaps in SQL Server: Part 3 Nonclustered Indexes
Пока эта серия состоит из:
- Кучи в SQL Server: часть 1 - основы
- Кучи в SQL Server: часть 2 - оптимизация чтений
- Кучи в SQL Server: часть 3 - некластеризованные индексы (эта статья)
В предыдущей
статье описывалось как можно оптимизировать выборку данных из кучи. Настоящая статья посвящена возможности достижения оптимального времени выполнения запроса для кучи с помощью некластеризованных индексов.
Продолжить чтение "Кучи в SQL Server: часть 3 - некластеризованные индексы"
Пересказ статьи Uwe Ricken. Heaps in SQL Server: Part 2 Optimizing Reads
Пока эта серия состоит из:
- Кучи в SQL Server: часть 1 - основы
- Кучи в SQL Server: часть 2 - оптимизация чтений (эта статья)
- Кучи в SQL Server: часть 3 - некластеризованные индексы
Кучи вряд ли являются любимцами разработчика, поскольку они не очень производительны, особенно когда дело доходит до выборки данных (так думает большинство людей!). Определенно, какая-то правда есть в этом мнении, однако окончательно все решает рабочая нагрузка. В этой статье я описываю, как работает куча при выборке данных. Если вы понимаете процесс, который происходит в SQL Server при чтении данных из кучи, вы сможете легко решить, является ли куча лучшим решением для вашей рабочей нагрузки.
Продолжить чтение "Кучи в SQL Server: часть 2 - оптимизация чтений"
Пересказ статьи Uwe Ricken. Heaps in SQL Server: Part 1 The Basics
Большинство советов, которые вы видите в сети, рекомендуют избегать куч (heap). В настоящей статье дается понятие кучи, и вы сами сможете определить, когда кучи являются лучшим выбором.
Пока эта серия состоит из:
- Кучи в SQL Server: часть 1 - основы (эта статья)
- Кучи в SQL Server: часть 2 - оптимизация чтений
- Кучи в SQL Server: часть 3 - некластеризованные индексы
Продолжить чтение "Кучи в SQL Server: часть 1 - основы"
Пересказ статьи Marty Catherall. OPENJSON and CROSS APPLY
OPENJSON является основным средством манипуляции документами JSON в T-SQL.
Мы уже видели, что можем использовать схему по умолчанию, которая вернет метаданные о документе JSON, или же можем использовать явную схему, когда мы вводим предложение WITH и PATH - путь к требуемым данным.
Пока в наших примерах мы использовали либо схему по умолчанию, либо явную схему, но не смешивали их вместе.
Продолжить чтение "OPENJSON и CROSS APPLY"
Пересказ статьи Marty Catherall. OPENJSON and an Alias
Использование алиасов в T-SQL является делом обычным.
Мы можем присваивать алиасы как таблицам (предложение FROM) и столбцам (предложение SELECT), так и некоторым другим вещам. Это важно для написания хороших запросов на T-SQL.
Продолжить чтение "OPENJSON и алиас"
§ Решена проблема с оправкой сообщений с сайта.
Исправлена проверка задачи 153 (SELECT, обуч.этап), которая работала только под MSSQL.
Продолжить чтение "Новости за 2020-08-29 - 2020-09-04"
Пересказ статьи Marty Catherall. OPENJSON Getting to the data, and the PATH – PART II
Мы видели как вытащить данные из документа JSON в реляционную таблицу, используя явную схему, которая была определена в предложении WITH табличнозначной функции OPENJSON.
Продолжить чтение "OPENJSON: получение данных и PATH - часть 2"