Skip to content

Сканирование индекса - не всегда плохо, поиск по индексу - не всегда хорошо

Пересказ статьи Brent Ozar. Index scans aren’t always bad, and index seeks aren’t always great


Когда-нибудь вам говорили, что:

  • Поиск по индексу (Index seeks) является быстрой малозатратной операцией.

  • Сканирование таблиц (table scan) - убогие, медленные операции.


И с тех пор вы при анализе плана выполнения выискивали эти существенно влияющие на производительность сканирования кластерного индекса. А когда вы находите их, то верите, что имеете проблемы с производительностью.
Продолжить чтение "Сканирование индекса - не всегда плохо, поиск по индексу - не всегда хорошо"

Как исправить ошибку "Символьные или двоичные данные могут быть усечены"

Пересказ статьи Brent Ozar. How to fix the error “String or binary data would be truncated”



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

Стоимость бесполезных суррогатных ключей в таблицах связи

Пересказ статьи lukaseder. The Cost of Useless Surrogate Keys in Relationship Tables


Насколько хорош естественный ключ?

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

Встраивание скалярных UDF (SQL Server 2019)

Пересказ статьи Aaron Bertrand. Scalar UDF Inlining in SQL Server 2019



Скалярные UDF всегда были обоюдоострым мечом - они великолепны для тех разработчиков, кто стремится уйти от утомительной логики, а не повторять её от запроса к запросу. Но они же ужасно влияют на производительность в рабочей системе, поскольку оптимизатор не может обработать их надлежащим образом. Существенно то, что выполнение UDF осуществляется отдельно от остального плана выполнения, и потому они вызываются по разу для каждой строки и не могут быть оптимизированы на основе оценочного или фактического числа строк или завернуты в остальной план.
Продолжить чтение "Встраивание скалярных UDF (SQL Server 2019)"

Новости за неделю 2019-06-29 - 2019-07-05

§ Под номером 306 выставлен для обсуждения очередной кандидат на обучающий этап (сложность 1 балл).
Прежняя задача 306 перенесена на обучающий этап под номером 149.

Продолжить чтение "Новости за неделю 2019-06-29 - 2019-07-05"