Skip to content

Фильтрованные индексы

Пересказ статьи Monica Rathbun. Filtered Index Basics



Многие администраторы баз данных вполне осознают важность индексов и знают, как их создавать. Однако я обнаружила, что некоторым из них требуется еще глубже погрузиться в оптимизацию своих индексов и воспользоваться преимуществом, которое предоставляют фильтрованные индексы.
Continue reading "Фильтрованные индексы"

Расщепление строк при помощи OPENJSON

Пересказ статьи Dave Mason. Splitting Strings With OPENJSON



Начиная с SQL Server 2016, Майкрософт предоставляет функцию STRING_SPLIT. Это табличнозначная функция, которая разбивает символьную строку на ряды подстрок на основе заданного символа-разделителя. Это было приятное добавление, которого долго ждали. Но имеется один недостаток: порядок выходных строк не гарантирует совпадение с порядком подстрок во входной строке.
Continue reading "Расщепление строк при помощи OPENJSON"

Парсинг данных типа JSON в SQL Server

Пересказ статьи Dave Mason. Parsing JSON Data In SQL Server



Майкрософт добавил поддержку данных JSON, начиная с SQL Server 2016. JSON представляет собой формат файлов открытого стандарта, состоящих из пар атрибут-значение и данных типа массивов. Он обычно используется для передачи объектов данных при асинхронном взаимодействии браузера с сервером. Но он также используется для хранения неструктурированных данных в файлах или базах данных NoSQL, таких как Microsoft Azure CosmosDB. Для большинства из нас поддержка JSON в SQL Server, вероятно, означает две вещи: мы можем конвертировать реляционные данные в JSON и обратно. Здесь я сосредоточусь на преобразовании JSON в реляционные данные.

Continue reading "Парсинг данных типа JSON в SQL Server"

IN против UNION ALL?

Пересказ статьи Bert Wagner. IN vs UNION ALL


Когда вам необходимо отфильтровать результаты запроса по множеству значений, вы, вероятно, используете оператор IN() или множество предикатов разделенных OR:
WHERE Col1 IN ('A','B','C')

или
WHERE Col1 = 'A' OR Col1 = 'B' OR Col1 = 'C'

В то время как SQL Server строит один и тот же план для каждого из вариантов, имеется другой способ, который вы можете попробовать и который при определенных условиях может улучшить производительность: UNION ALL.

Continue reading "IN против UNION ALL?"