Анализ запросов с помощью SQL Profiler

0. Андрей Бурмистров (Andreynikus) 914 12.07.14 23:52 Сейчас в теме
В своей работе мы довольно часто мы сталкиваемся с ситуацией, когда определенный запрос работает медленно, причем по тексту запроса невидно никаких очевидных проблем. Обычно в этом случае необходимо расследовать проблему на более глубоком уровне. Как правило, возникает необходимость посмотреть текст SQL-запроса и его план, и вот в этом нам как раз помогает SQL Profiler.

Перейти к публикации

Комментарии
1. Антон Стеклов (asved.ru) 33 23.07.14 03:55 Сейчас в теме
Я бы переименовал статью в "Сбор информации для анализа запросов с помощью SQL Profiler". Т.к. собственно про анализ плана запроса ни слова не сказано даже на уровне определения неоптимальных операторов плана.
gorin; alest; kostyaomsk; sorb; smit1c; AlX0id; serg_gres; bidond; Fox-trot; Dimasik2007; tormozit; Alex_grem; JohnyDeath; botokash; TrinitronOTV; shalimski; +16 Ответить
2. rasswet (rasswet) 80 23.07.14 08:35 Сейчас в теме
спасибо, вполне понятно объяснили!
3. Евгений (Scop) 21 23.07.14 08:57 Сейчас в теме
Спасибо, отличная вводная статья в тему.
4. Алексей Опарихин (Al-X) 23.07.14 09:04 Сейчас в теме
Спасибо !!! Все относительно ясно. Пойду смотреть, как все работает, а потом использовать для оптимизации моих запросов.
5. Сергей Старых (tormozit) 4314 23.07.14 09:37 Сейчас в теме
Профайлер SQL конечно крут, но техножурнал платформы все же круче, т.к. там видно только то, что в основном нужно с переводом в термины метаданных. А в сыром виде в профайлере анализировать логи затратнее, т.е. менее эффективно.
wowik; _also; +2 Ответить 1
6. Василий Казьмин (awk) 678 23.07.14 13:38 Сейчас в теме
ShowplanXMLStatisticsProfile– графический план выполнения запроса
Не графический, а в XML. В графику его программа просмотра преобразовывает.
7. Антон Стеклов (asved.ru) 33 23.07.14 15:37 Сейчас в теме
(5) tormozit, есть минусы:
1) Получение планов запросов в ТЖ замедляет выполнение запросов.
2) ТЖ еще и парсить нужно.
8. Сергей Старых (tormozit) 4314 23.07.14 16:20 Сейчас в теме
(7)
1. Видимо ты имеешь ввиду, что получение планов запросов в техножурнале платформы замедляет выполнение запросов сильнее, чем их получение в SQL профайлере. Думаю, что это конечно так, но велика ли разница?
2. Парсить логи профайлера SQL тоже нужно. Просто для него есть штатное быстрое общедоступное средство. Для техножурнала платформы быстрое средство есть (Enterprise Integrator Германа Кудякова), но оно не общедоступно. Есть менее быстрые средства, например мой "Анализ техножурнала" из подсистемы "Инструменты разработчика".
CratosX; pt_olga; +2 Ответить 1
9. Андрей Бурмистров (Andreynikus) 914 23.07.14 18:10 Сейчас в теме
(8) tormozit,
Лучший инструмент тот, которым лучше всего умеешь пользоваться -)
Мне профайлером просто быстрее получить план запроса, с ТЖ получится дольше, и как я уже писал выше в ТЖ нельзя посмотреть план запроса в графическом виде, да и в текстовом виде придется самому помнить какая там последовательность колонок.
Тут как всегда, кому что удобнее.

Зато получение плана в ТЖ конечно более универсально, его можно использовать для любых СУБД, а не только для MS SQL Server.
Дмитрий74Чел; +1 Ответить 1
10. Василий Казьмин (awk) 678 23.07.14 22:39 Сейчас в теме
(9) Andreynikus, А какая разница в графическом или текстовом? В текстовом тоже понятно все. Более того мне больше понятно в текстовом виде. Для разбора любых текстовых файлов, лично я, пользуюсь grep + awk + sed. В windows через cygwin.
11. Андрей Бурмистров (Andreynikus) 914 24.07.14 09:06 Сейчас в теме
(10) awk, Разница только в восприятии.
Я же говорю, кому что удобнее
12. ivanov660 ivanov660 (ivanov660) 335 25.07.14 13:03 Сейчас в теме
По моему опыту для средних и сложных запросов графическое представление плана запросов, да и тестовое представление довольно сложно подвергается анализу.
13. Андрей Бурмистров (Andreynikus) 914 27.07.14 09:02 Сейчас в теме
(12) ivanov660,
Согласен, большие планы анализировать в профайлере очень не удобно, но эта статья и не про анализ планов, а про их получение.
Для больших и сложных планов рекомендую использовать "SQL Sentry Plan Explorer", там даже очень большие планы анализировать довольно просто, и данный инструмент гораздо более информативен чем профайлер.
14. Алексей Роза (DoctorRoza) 29.07.14 07:56 Сейчас в теме
Отличная статья! Плюс однозначно!
15. serno (Sergey.Noskov) 29.07.14 14:23 Сейчас в теме
Хорошая инструкция, но все таки ближе к теме "Как пользоваться профайлером", а не про анализ планов.
16. Алексей 1 (AlX0id) 01.08.14 15:16 Сейчас в теме
(12) ivanov660,
Ну если и графическое представление сложно для восприятия, то может быть порекомендуете другие инструменты?
17. Ivan B (wolverine87) 13.08.14 05:07 Сейчас в теме
Спасибо автору. Полезная статья. + 1
18. Алексей Бочков (Aleksey.Bochkov) 2716 26.07.15 01:13 Сейчас в теме
(0) Обновили бы статью.. все ссылки битые.
Картинки лучше локально разместить.
19. Антон Чарушкин (hulio) 24 27.07.15 08:13 Сейчас в теме
(0) Автор, обновите, пожалуйста, статью - без картинок неинтересно :)
Оставьте свое сообщение