Рубрика «T-SQL»

Transact-SQL

DMV для начинающих

Пересказ статьи Monica Rathbun. DMV’s for the Beginner Я замечаю, что некоторые администраторы баз данных и разработчики никогда не обращают внимания на динамические административные представления (DMV), которые доступны в SQL Server, начиная с версии 2005. Эти представления предоставляют полезные средства для определения того, что происходит с конкретным экземпляром SQL Server. Итак, в этой статье я …

Новости за неделю
2019-09-28 — 2019-10-04

§ Популярные темы недели на форуме Топик Сообщений 12 (SELECT) 7 65 (Learn) 4 1 (SELECT) 2 23 (Learn) 2 39 (SELECT) 2 § Авторы недели на форуме Автор Сообщений Arbaiter 10 Kursist 9 selber 5 c306cp 4 Igor_lai 4 § Изменения среди лидеров Рейтинг Участник (решенные задачи) 8 Kursist (159) § Претенденты на попадание в TOP 100 Рейтинг Участник (решенные задачи, время в днях) 309 Juster81 (99, …

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

Пересказ статьи Monica Rathbun. Filtered Index Basics Многие администраторы баз данных вполне осознают важность индексов и знают, как их создавать. Однако я обнаружила, что некоторым из них требуется еще глубже погрузиться в оптимизацию своих индексов и воспользоваться преимуществом, которое предоставляют фильтрованные индексы.

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

Пересказ статьи Dave Mason. Splitting Strings With OPENJSON Начиная с SQL Server 2016, Майкрософт предоставляет функцию STRING_SPLIT. Это табличнозначная функция, которая разбивает символьную строку на ряды подстрок на основе заданного символа-разделителя. Это было приятное добавление, которого долго ждали. Но имеется один недостаток: порядок выходных строк не гарантирует совпадение с порядком подстрок во входной строке.

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

Пересказ статьи Dave Mason. Parsing JSON Data In SQL Server Майкрософт добавил поддержку данных JSON, начиная с SQL Server 2016. JSON представляет собой формат файлов открытого стандарта, состоящих из пар атрибут-значение и данных типа массивов. Он обычно используется для передачи объектов данных при асинхронном взаимодействии браузера с сервером. Но он также используется для хранения неструктурированных …

Разница между Rollup и Cube

Пересказ статьи Ben Richardson. The Difference Between Rollup and Cube Предложение GROUP BY используется для группировки результатов агрегатных функций по заданному столбцу. Однако предложение GROUP BY не выполняет операции агрегации на множестве уровней иерархии. Например, вы можете вычислить суммарную зарплату сотрудников для каждого отдела компании (один уровень иерархии), но не можете вычислить общую зарплату всех …

Как правильно использовать динамический SQL

Пересказ статьи Thom Andrews. Dos and Don’ts of Dynamic SQL Динамический SQL может быть невероятно мощным инструментом при надлежащем использовании, однако он может стать также невероятной прорехой в безопасности или привести к утомительной отладке при плохом написании. Ниже приводится несколько плохих и хороших примеров, которые помогут вам при написании динамических операторов.

Как пофиксить ошибку «Символьные или двоичные данные могут быть усечены»

Пересказ статьи Brent Ozar. How to fix the error “String or binary data would be truncated” Сначала давайте посмотрим на ошибку: создадим таблицу с небольшими полями, а затем попытаемся вставить больше данных, чем они могут вместить. CREATE TABLE dbo.CoolPeople(PersonName VARCHAR(20), PrimaryCar VARCHAR(20)); GO INSERT INTO dbo.CoolPeople(PersonName, PrimaryCar) VALUES (’Baby’, ‘2006 Subaru Impreza WRX GD’); GO …

Стоимость бесполезных суррогатных ключей в таблицах связей

Пересказ статьи lukaseder. The Cost of Useless Surrogate Keys in Relationship Tables Насколько хорош естественный ключ? Это очень сложный вопрос для большинства сущностей на этапе проектирования схемы. В некоторых редких случаях, кажется, имеется «очевидный» кандидат, обусловленный различными стандартами ISO, например:

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

Пересказ статьи Aaron Bertrand. Scalar UDF Inlining in SQL Server 2019 Скалярные UDF всегда были обоюдоострым мечом — они великолепны для тех разработчиков, кто стремится уйти от утомительной логики, а не повторять её от запроса к запросу. Но они же ужасно влияют на производительность в рабочей системе, поскольку оптимизатор не может обработать их надлежащим образом. …