[Thinknetica] Оптимизация запросов в PostgreSQL

40

Мастер-класс для разработчиков, которые уже испробовали все основные методы ускорения запросов, например N+1 и добавили всевозможные индексы, но хотят достичь большего результата. Что делать дальше? Простого ответа нет, придется разбираться, как это все работает. Этим мы и займемся.

Этот мастер класс будет полезен тем, кто хочет перестать наугад жонглировать подзапросами, и готов погрузиться глубже в то как устроен PostgreSQL, чтобы научиться находить причины медленных запросов.

PostgreSQL восхитительная база данных, которая сама отлично справляется с оптимизацией, в 95% случаев.

Мы поговорим про оставшиеся 5%, и чтобы помочь PostgreSQL, нам придется научиться думать как база данных.

На мастер-классе:

  • Посмотрим как работает планировщик PostgreSQL
  • Научимся любить seq scan и думать как база данных
  • Разберемся как PostgreSQL читает и обрабатывает данные
  • Обсудим views, materialized views, CTE и другие штуки которые вы и так знаете, но не уверены как они повлияют на скорость работы
  • Поговорим о селективности, статистике и индексах