Методи отримання плану запиту в СУБД ms sql server - ausevich

Планом запиту називається послідовність логічних і фізичних операторів, які повинні бути виконані СУБД для того щоб отримати результат SQL-запиту. Отримання плану запиту може знадобитися в різних ситуаціях, а в першу чергу при завданнях оптимізації запитів.

Я хочу описати три способи отримати план запиту використовуючи інструменти СУБД MS SQL Server, кожен із способів може виявитися кращим в тій чи іншій ситуації.

Отримання плану запиту за допомогою Profiler'а (або Extended Events)

Отримання плану запиту за допомогою Profiler'а (або нового механізму - Extended Events) є, напевно, найбільш популярним способом і причина полягає в тому, що за допомогою Profiler'а можна перехопити інформацію про будь-який запит, що виконується в даний момент екземпляром SQL Server ' а. Типовим, з метою отримання плану запиту, є наведений нижче спосіб роботи з Profiler'ом (в зв'язці з 1С: Підприємство):

  1. Налаштувати Profiler (або Extended Events) і поставити його на паузу
  2. Якщо трасування містить дані, очистити вікно трасування
  3. За допомогою відладчика в 1С: Підприємство зупинитися перед виконанням відповідного запиту
  4. Зняти Profiler з паузи
  5. Виконати запит
  6. зупинити Profiler
  7. Проаналізувати отриману інформацію

Profiler є інструментом для створення трасувань та управління ними. За допомогою даного інструменту можна отримувати різну інформацію про роботу СУБД. В даному випадку ми будемо використовувати його для отримання інформації про виконуваному запиті, зокрема, для того щоб отримати його план виконання.

Для того щоб отримати план запиту в Profiler слід додати наступні події: