Skip to content

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

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


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

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

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

Функции работы со строками в SQL Server, Oracle и PostgreSQL

Пересказ статьи Andrea Gnemmi. SQL String functions in SQL Server, Oracle and PostgreSQL


Строковые функции широко используются для манипуляции, извлечения, форматирования и поиска текста для типов данных char, nchar (unicode), varchar, nvarchar (unicode) и т.д. К сожалению, имеются некоторые отличия в строковых функциях SQL Server, Oracle и PostgreSQL, которые обсуждаются в этой статье. Продолжить чтение "Функции работы со строками в SQL Server, Oracle и PostgreSQL"

Как включить и отключить полнотекстовый поиск для баз данных SQL Server

Пересказ статьи Manvendra Singh. How to Enable and Disable Full Text Search for SQL Server Databases


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

Запись, которая никогда не существовала (как зафиксированная строка)

Пересказ статьи Alessandro Mortola. The Record That Never Existed (as a committed row)



Введение


Согласно официальной документации уровень изоляции READ COMMITTED "определяет, что операторы не могут читать данные, которые были модифицированы, но не зафиксированы другими транзакциями". Поэтому можно подумать, что запись, возвращаемая при этом уровне изоляции, существовала в зафиксированном состоянии в момент чтения.

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

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

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


Четыре врага


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

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

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

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

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


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