Skip to content

OPENJSON: Получение данных и PATH - часть 1

Пересказ статьи Marty Catherall. OPENJSON Getting to the data, and the PATH – PART I


Недавно мы использовали FOR JSON PATH для преобразования табличных данных (взятых непосредственно из таблицы SQL) в документ JSON.
PATH, о котором мы говорим здесь, используется с OPENJSON для получения данных, которые содержатся в документе JSON.

Мы видели пример OPENJSON и читали данные с явной схемой.
Продолжить чтение "OPENJSON: Получение данных и PATH - часть 1"
Категории: T-SQL

OPENJSON, явная схема и тип данных

Пересказ статьи Marty Catherall. OPENJSON, explicit schema and data type


Когда мы читали данные из документа в табличный формат, то указывали такие столбцы:
* value (значение)
* minimum (минимум)
* maximum (максимум)
* value_in_use (используемое значение)
* description (описание)

Продолжить чтение "OPENJSON, явная схема и тип данных"
Категории: T-SQL

Почему порядок не гарантируется без ORDER BY

Пересказ статьи Brent Ozar. Why Ordering Isn’t Guaranteed Without an ORDER BY


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

Как отследить производительность запросов, которые используют хинты RECOMPILE

Пересказ статьи Brent Ozar. How to Track Performance of Queries That Use RECOMPILE Hints



Пусть у нас есть хранимая процедура, которая содержит два запроса - второй запрос использует хинт RECOMPILE (тут есть статья по теме):
Продолжить чтение "Как отследить производительность запросов, которые используют хинты RECOMPILE"

Секреты индексов и внешних ключей

Пересказ статьи Rafaelo Condret. The Secrets of Indexes and Foreign Keys



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

Что если вам действительно необходимо сжать базу данных?

Пересказ статьи Brent Ozar. What If You Really DO Need to Shrink a Database?


Вы уже слышали, что сжатие базы данных - это плохо, поскольку связано с появлением как внешней, так и внутренней фрагментации, вызывает блокировки, рост журнала транзакций при запуске, а также является медленным и однопоточным. Вы понимаете, что если речь идет всего лишь о 10-20-30% базы данных, а база данных составляет всего 100-200 ГБ, то вы можете спокойно оставить это место, потому что все равно будете его использовать.
Продолжить чтение "Что если вам действительно необходимо сжать базу данных?"
Категории: T-SQL

Старшинство типов данных и неявное преобразование

Пересказ статьи Bert Wagner. Data Type Precedence and Implicit Conversions


SQL Server должен убедиться, что типы данных совпадают при выполнении операций, которые включают разные данные.
Когда типы данных не совпадают, SQL Server должен неявно преобразовать данные, прежде чем выполнить любую операцию.
Хотя зачастую эти неявные преобразования незаметны, они важны для понимания, т.к. могут привести к неожиданным результатам.


Продолжить чтение "Старшинство типов данных и неявное преобразование"
Категории: T-SQL

Проектирование индекса в базах данных и оптимизация: некоторые рекомендации

Пересказ статьи Basit Farooq. Database index design and optimization: Some guidelines



Хорошо спроектированные индексы являются важной частью оптимизации базы данных, поскольку они являются ключевым фактором в достижении оптимальной производительности запросов и времени отклика. В то время как плохо спроектированные индексы, их отсутствие или избыточные индексы на таблицах, индексы не на том столбце или неправильная стратегия обслуживания индексов может явиться источником медленных запросов и ухудшения общей производительности базы данных.
Продолжить чтение "Проектирование индекса в базах данных и оптимизация: некоторые рекомендации"

Индексированные представления - панацея производительности или беда

Пересказ статьи Jason Brimhall. Indexed Views – Performance Panacea or Plight



Индексированное представление - это представление, когда результирующий набор запроса (определения представления) материализуется вместо результирующего набора виртуальной таблицы стандартного (неиндексированного) представления. Часто приходится видеть, что индексированное представление создается с целью улучшить производительность. И слишком часто индексированное представление создается без учета накладных расходов. Продолжить чтение "Индексированные представления - панацея производительности или беда"