EXPLAIN

Команда EXPLAIN [запрос] показывает, каким образом сервер баз данных, например Использование и настройка PostgreSQL собирается выполнять ваш запрос.

Команда EXPLAIN ANALYZE [запрос] выполняет запрос и показывает как изначальный план, так и реальный процесс его выполнения.

В выводе команды следует обращать внимание на следующее:

  • Использование полного просмотра таблицы (seq scan).
  • Использование наиболее примитивного способа объединения таблиц (nested loop).
Следует отметить, что полный просмотр таблицы далеко не всегда медленнее просмотра по индексу. Если, например, в таблице–справочнике несколько сотен записей, умещающихся в одном-двух блоках на диске, то использование индекса приведёт лишь к тому, что придётся читать ещё и пару лишних блоков индекса. Если в запросе придётся выбрать 80% записей из большой таблицы, то полный просмотр опять же получится быстрее.
PQ VPS сервера в 28+ странах.