Skip to content

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

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


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

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

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


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

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

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



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