Postgres - статьи


Какие настройки мне нужно сделать для улучшения производительности?


Существует три главных области, которые потенциально могут увеличить производительность:

Изменение запроса

Это означает модификацию запросов для получения лучшей производительности:

  • Создание индексов, включая индексы выражений и частичные индексы
  • Использование COPY вместо множества INSERT
  • Группировка нескольких операторов в единую транзакцию для уменьшения нагрузки при выполнении завершения транзакции
  • Использование CLUSTER, когда из индекса берётся множество строк
  • Использование LIMIT для того, чтобы возвращалась только часть вывода от запроса
  • Использование Подготовленных (Prepared) запросов
  • Использование ANALYZE для обслуживания статистики оптимизатора
  • Регулярное использование VACUUM или pg_autovacuum
  • Удаление индексов во время больших изменений данных


  • Настройка сервера

    Некоторые установки в postgresql.conf влияют на производительность. Подробный полный список установок см. в

    Administration Guide/Server Run-time Environment/Run-time Configuration, а комментарии см. в

    http://www.varlena.com/varlena/GeneralBits/Tidbits/annotated_conf_e.html

    и

    http://www.varlena.com/varlena/GeneralBits/Tidbits/perf.html.

    Выбор "железа" - аппаратного обеспечения

    Влияние "железа" на производительность подробно описано в

    http://candle.pha.pa.us/main/writings/pgsql/hw_performance/index.html и

    http://www.powerpostgresql.com/PerfList/.



    Содержание раздела