Оптимизация SQL-запросов - PullRequest
1 голос
/ 14 февраля 2011

Я использую SQL Server 2008 и мне нужно оптимизировать свои запросы. Для этого я использую помощник по настройке ядра СУБД.

У меня вопрос: можно ли проверить производительность только одного SQL-запроса за раз или более одного нового сеанса?

Ответы [ 2 ]

2 голосов
/ 14 февраля 2011

Чтобы анализировать один запрос за раз, щелкните его правой кнопкой мыши в окне скрипта SSMS и выберите опцию «Анализ запроса в DTA». Для этой рабочей нагрузки выберите опцию «сохранить все существующие PDS», чтобы избежать загрузки drop рекомендаций для индексов.не используется в рассматриваемом запросе.

Чтобы сделать более одного, сначала запишите файл трассировки с репрезентативной выборкой рабочей нагрузки, а затем проанализируйте его с помощью DTA.

0 голосов
/ 14 июля 2015

При записи SQL-запроса необходимо выполнить следующие простые шаги: -

1-Взять имя столбца в запросе выбора вместо *

2-Избегать подзапросов

3-Избегать использования оператора IN оператора

4 - Использовать в качестве фильтра в группе по

5-Не сохраняйте изображение в базе данных, вместо этого сохраняйте изображение Путь в базе данных Пример: сохранение изображения в БД занимает много места и каждый Время необходимо сериализовать при сохранении или получении изображений в базе данных.

6-Каждая таблица должна иметь первичный ключ

7-Каждая таблица должна иметь как минимум один кластеризованный индекс

8-Каждая таблица должна иметь соответствующее количество некластеризованного индекса Некластеризованный индекс должен быть создан для столбцов таблицы на основе запроса, который выполняется

9-Следующие приоритетные приказы должны соблюдаться, когда любой индекс создано a) предложение WHERE, b) предложение JOIN, c) предложение ORDER BY, d) предложение SELECT

10 - Не использовать представления и не заменять представления исходной исходной таблицей

11-триггеры не должны использоваться, если это возможно, включают логика триггера в хранимой процедуре

12-Удалить все adhoc запросы и использовать вместо них хранимую процедуру

13-Проверьте, если хотя бы 30% HHD пусто, это немного улучшит производительность

14-Если возможно, переместите логику UDF в SP также

15-Удалить все ненужные объединения из таблицы

16-Если в запросе используется курсор, посмотрите, есть ли другой способ избежать использования этого (либо с помощью SELECT… INTO, либо INSERT… INTO и т. д.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...