Многие администраторы баз данных вполне осознают важность индексов и знают, как их создавать. Однако я обнаружила, что некоторым из них требуется еще глубже погрузиться в оптимизацию своих индексов и воспользоваться преимуществом, которое предоставляют фильтрованные индексы. Продолжить чтение "Фильтрованные индексы"
Начиная с SQL Server 2016, Майкрософт предоставляет функцию STRING_SPLIT. Это табличнозначная функция, которая разбивает символьную строку на ряды подстрок на основе заданного символа-разделителя. Это было приятное добавление, которого долго ждали. Но имеется один недостаток: порядок выходных строк не гарантирует совпадение с порядком подстрок во входной строке. Продолжить чтение "Расщепление строк при помощи OPENJSON"
Майкрософт добавил поддержку данных JSON, начиная с SQL Server 2016. JSON представляет собой формат файлов открытого стандарта, состоящих из пар атрибут-значение и данных типа массивов. Он обычно используется для передачи объектов данных при асинхронном взаимодействии браузера с сервером. Но он также используется для хранения неструктурированных данных в файлах или базах данных NoSQL, таких как Microsoft Azure CosmosDB. Для большинства из нас поддержка JSON в SQL Server, вероятно, означает две вещи: мы можем конвертировать реляционные данные в JSON и обратно. Здесь я сосредоточусь на преобразовании JSON в реляционные данные.
Когда вам необходимо отфильтровать результаты запроса по множеству значений, вы, вероятно, используете оператор IN() или множество предикатов разделенных OR:
WHERE Col1 IN ('A','B','C')
или
WHERE Col1 = 'A' OR Col1 = 'B' OR Col1 = 'C'
В то время как SQL Server строит один и тот же план для каждого из вариантов, имеется другой способ, который вы можете попробовать и который при определенных условиях может улучшить производительность: UNION ALL.