Skip to content

Сравнение обычных представлений и индексированных

Пересказ статьи Chad Callihan. Views vs. Indexed Views


Давайте рассмотрим преимущества и недостатки представлений SQL.
Запрос к нескольким таблицам можно облегчить с помощью представлений. Запрос к единственному представлению (SELECT * FROM MyView) короче по сравнению с запросом, в котором соединяется несколько таблиц для получения результата.
Представления также можно использовать для усиления безопасности, разрешая пользователям доступ только к определенным столбцам в таблицах, определенных в представлении.

За такую гибкость приходится платить, и эта плата растет с размером ваших данных. При обращении к представлению SQL Server все еще должен извлекать данные из таблиц, упомянутых в представлении. Важно то, что происходит внутри.

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

Встраивание UDF и агрегация строк

Пересказ статьи Erik Darling. UDF Inlining And String Aggregations


Четыре врага


Фактически данная статья состоит их четырех постов. Возможно, пяти. Вот основные темы:

  • STRING_AGG не может быть встроен, если это UDF.

  • Получить значения DISTINCT в STRING_AGG сложнее, чем это должно быть.

  • Документация по встраиванию UDF вводит в заблуждение.

  • XML PATH можно встроить в UDF.


Начнем сверху, поскольку первые всегда наверху.
Продолжить чтение "Встраивание UDF и агрегация строк"