Skip to content

Настройка запросов: предикат IN

Пересказ статьи Arthur Daniels. Query tuning: The IN clause


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

Осторожно! Остерегайтесь непреднамеренных изменений спецификаций столбца

Пересказ статьи Solomon Rutzky. Beware! Beware of Unintended Changes When Altering Columns!


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

Основы использования хинта NOLOCK в SQL Server

Пересказ статьи Esat Erkeç. Essentials and usage of NOLOCK hint in SQL Server


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

Почему не следует использовать SELECT * в рабочих системах (никогда!)

Пересказ статьи Gavin Draper. Why You Shouldn't Use SELECT * In Production Systems (EVER!)


Это не значит, что я никогда не использую операторы SELECT *; обычно я использую их для прямых запросов на стадии разработки. Моё предупреждение относится к их использованию в рабочих системах.

Продолжить чтение "Почему не следует использовать SELECT * в рабочих системах (никогда!)"