Инструменты пользователя

Инструменты сайта


it:postgresql:optimization

Ссылка на это сравнение

it:postgresql:optimization [2021/08/06 06:55] – создано ura2404it:postgresql:optimization [2021/08/06 06:57] (текущий) ura2404
Строка 7: Строка 7:
  
 Варианты решения проблемы: Варианты решения проблемы:
-  -увеличить количество записей, просматриваемых при сборе статистики по таблицам. Большие значения могут повысить время выполнения команды ANALYZE, но улучшат построение плана запроса:+  *увеличить количество записей, просматриваемых при сборе статистики по таблицам. Большие значения могут повысить время выполнения команды ANALYZE, но улучшат построение плана запроса:
 <file json postgresql.conf> <file json postgresql.conf>
 default_statistics_target = 1000 -10000. default_statistics_target = 1000 -10000.
 </file> </file>
  
-  -отключение оптимизатору возможности использования NESTED LOOP при выборе плана выполнения запроса в конфигурации PostgreSQL:+  *отключение оптимизатору возможности использования NESTED LOOP при выборе плана выполнения запроса в конфигурации PostgreSQL:
 <file json postgresql.conf> <file json postgresql.conf>
 enable_nestloop = off. enable_nestloop = off.
Строка 18: Строка 18:
   Отрицательным эффектом этого способа является возможное замедление некоторых запросов, поскольку при их выполении будут использоваться другие, более затратные, методы соединения (HASH JOIN).   Отрицательным эффектом этого способа является возможное замедление некоторых запросов, поскольку при их выполении будут использоваться другие, более затратные, методы соединения (HASH JOIN).
      
-  -отключение оптимизатору возможности изменения порядка соединений таблиц в запросе:+  *отключение оптимизатору возможности изменения порядка соединений таблиц в запросе:
 <file json postgresql.conf> <file json postgresql.conf>
 join_collapse_limit=1. join_collapse_limit=1.
Строка 24: Строка 24:
   Следует использовать этот метод, если вы уверены в правильности порядка соединений таблиц в проблемном запросе.   Следует использовать этот метод, если вы уверены в правильности порядка соединений таблиц в проблемном запросе.
  
-  -изменение параметров настройки оптимизатора:+  *изменение параметров настройки оптимизатора:
 <file json postgresql.conf> <file json postgresql.conf>
 seq_page_cost = 0.1 seq_page_cost = 0.1
Строка 31: Строка 31:
 </file> </file>
  
-  -использование версии PostgreSQL 9.1.2-1.1.C и выше, в которой реализован независимый от AUTOVACUUM сбор статистики, на основе информации об изменении данных в таблице. По умолчанию включен сбор статистики только для временных таблиц и во многих ситуациях этого достаточно. При возникновении проблем с производительностью выполнения регламентных операций, можно включить сбор статистики для всех или отдельных проблемных таблиц изменив значение параметра конфигурации PostgreSQL (файл postgresql.conf) online_analyze.table_type = "temporary" на online_analyze.table_type = "all".+  *использование версии PostgreSQL 9.1.2-1.1.C и выше, в которой реализован независимый от AUTOVACUUM сбор статистики, на основе информации об изменении данных в таблице. По умолчанию включен сбор статистики только для временных таблиц и во многих ситуациях этого достаточно. При возникновении проблем с производительностью выполнения регламентных операций, можно включить сбор статистики для всех или отдельных проблемных таблиц изменив значение параметра конфигурации PostgreSQL (файл postgresql.conf) online_analyze.table_type = "temporary" на online_analyze.table_type = "all".
  
 ---- ----
  
it/postgresql/optimization.1628232915.txt.gz · Последнее изменение: 2021/08/06 06:55 — ura2404