Програма SQL є важливою для підвищення продуктивності бази даних. Плани виконання дають розуміння того, як обробляється питання, допомагаючи розробникам визначити пляшкові прилади та оптимізувати відповідно. Ця стаття представляє реальні приклади оптимізації SQL за допомогою планів виконання.

Аналіз використання індексу

Один з поширених оптимізацій передбачає використання індексу в планах виконання. Повний аналіз таблиці може істотно уповільнити продуктивність запиту. За допомогою перегляду плану виконання розробники можуть визначити, чи ефективно використовують індекси.

У типовому сценарії, додаючи відсутній індекс на часто перекодованій колонці скоротилися терміни виконання запиту з декількох секунд до мілісекундів. План виконання показав зсув з таблиці сканування до індексу, що шукає роботу.

Оптимізація операцій при підключенні

Приєднуйтеся до операцій можна ресурсно-інтенсивним. Плани виконання виявляти, як виконуються з'єднання, чи можна через петлі, приєднується або зливаються до неї. Вибір відповідного типу приєднання може підвищити продуктивність.

Наприклад, перетворюючи петлі, що приєднується до хешу, приєднується до великого часу обробки даних на 50%. План виконання вказує більш ефективний метод приєднання після оптимізації.

Оптимізація фільтрування та предикації

Виконавець пропонує можливість виявити непотрібні сканування, викликані слабо письмовими пунктами WHERE. Застосовуючи належне фільтрування та індексування на присудних колонах, може мінімізувати сканування даних.

У одному випадку перезапис запиту на конкретні фільтри та створення композитних індексів скоротилися терміни виконання на 70%. План виконання показало менше даних, а також більше показників, що шукають.

Висновок

Використання планів виконання дозволяє ефективно налаштувати цільову оптимізацію SQL. Аналізуючи використання індексу, вступаючи в стратегії та методи фільтрування, продуктивність бази даних може бути значно покращена.