PostgreSQL 9.6: паралельні запити з явним увімкненням

1 хв читання

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

Випущена 29 вересня 2016 року, версія PostgreSQL 9.6 додала підтримку паралельного сканування (Parallel Sequential Scan) для запитів лише для читання. Ця функція не активується автоматично для всіх запитів; вона потребує налаштування параметра max_parallel_workers_per_gather. Коли цей параметр встановлено у додатне значення, планувальник запитів може розподіляти навантаження між кількома фоновими процесами, що суттєво скорочує час виконання запитів, які потребують повного перегляду великих таблиць.

Рекомендації для адміністраторів:

  • Перевірте поточне значення max_parallel_workers_per_gather у конфігурації postgresql.conf.
  • Використовуйте команду EXPLAIN для аналізу планів виконання запитів та перевірки того, чи залучаються паралельні процеси.
  • Проводьте тестування продуктивності на реальних наборах даних, оскільки паралелізація не завжди є ефективною для дрібних запитів.

Використані джерела

  1. postgresql.org (postgresql.org)