Skip to content

Нормализация для сокращения блокировок

Erik Darling. Normalizing To Reduce Blocking


Посыл


Я вижу множество таблиц, которые выглядят примерно так:

CREATE TABLE dbo.orders
(
order_id int NOT NULL PRIMARY KEY
DEFAULT (NEXT VALUE FOR dbo.order_id),
order_date datetime NOT NULL,
order_ship_date datetime NOT NULL,
order_total money NOT NULL,
order_tax money NOT NULL,
customer_id int NOT NULL
DEFAULT (NEXT VALUE FOR dbo.customer_id),
customer_fullname nvarchar(250),
customer_street nvarchar(250),
customer_street_2 nvarchar(250),
customer_city nvarchar(250),
customer_state nvarchar(250),
customer_zip nvarchar(250),
customer_country nvarchar(250)
);

Продолжить чтение "Нормализация для сокращения блокировок"

Не пора ли убрать стоимость из плана запроса?

Erik Darling. Is It Time To Remove Costs From Query Plans?


Приглашенная звезда


Существует множество заблуждений относительно того, что означает стоимость (cost) в планах запросов. Часто при работе с клиентами сталкиваешься с тем, что все они переживают по поводу стоимости плана или стоимости оператора в плане.
Продолжить чтение "Не пора ли убрать стоимость из плана запроса?"

Хинты запроса, которые вы можете использовать, чтобы избежать блокировок

Пересказ статьи Brent Ozar. Query Hints You Can Use to Avoid Blocking


Нет, это не NOLOCK. Тут вы получаете неверные результаты запроса, даже когда результаты вашего запроса не подвергаются изменениям.
Продолжить чтение "Хинты запроса, которые вы можете использовать, чтобы избежать блокировок"

Об оценке строк табличной переменной

Пересказ статьи Gail Shaw. On table variable row estimations


На первый взгляд, вопрос об оценке количества строк табличной переменной кажется легким.


Продолжить чтение "Об оценке строк табличной переменной"

Начинаем чтение планов выполнения: оператор с наибольшей стоимостью

Пересказ статьи Grant Fritchey. GETTING STARTED READING EXECUTION PLANS: HIGHEST COST OPERATOR


Читать планы выполнения в SQL Server довольно тяжело. Много чего нужно узнать и понять. Ранее я очертил основные моменты, с которых я начинаю изучение плана выполнения. Однако только этого недостаточно. Я хочу продолжить объяснение немного глубже, почему и как эти базовые шаги помогут вам начать читать планы выполнения. Вместо обсуждения первого оператора поговорим сначала о операторах, имеющих максимальную стоимость. Продолжить чтение "Начинаем чтение планов выполнения: оператор с наибольшей стоимостью"

Планы выполнения, на что следует обращать внимание?

Пересказ статьи Grant Fritchey. EXECUTION PLANS, WHAT DO I LOOK AT?


Возник вопрос - какие самые важные вещи, на которые нужно обращать внимание в запросе. Я осознал, что на самом деле не писал об этом. Есть несколько мест, которые позволяют мне сразу узнать довольно много, где в плане заложены проблемы. При взгляде на эти вещи вы не обязательно найдете ответ, но узнаете о наличии проблемы. Как это мне свойственно, я не смог ограничиться 5-ю, поэтому вот 6 таких вещей: Продолжить чтение "Планы выполнения, на что следует обращать внимание?"