Настройка пост-ГРЭС

2 ответа

Периодически пылесосьте. Текущая система автовакуумирования в большинстве случаев неплохо справляется с этой задачей, но все же может быть полезно периодически запускать полную ручную очистку (в нашем случае это происходит примерно раз в год).

Индексы надежно используются только в том случае, если статистика доступны для стола. Убедитесь, что после любых серьезных изменений в таблице (тонны вставок / удалений) запускается вакуум --analyze, чтобы гарантировать, что индексы выбраны правильно.

Конфигурация Postgres по умолчанию оптимизирована для системы с относительно скромными ресурсами и медленной диски. Если в вашей системе более быстрые диски (возможно), более быстрый процессор (возможно) или намного больше оперативной памяти (почти наверняка), то обязательно настройте различные параметры на основе этого. Главное, увеличить размеры буфера, но если у вас очень быстрые диски (особенно твердотельные), было бы неплохо снизить оценку затрат и на время поиска.

У меня также было несколько опытов со слегка медленными соединениями в довольно сложных запросах, но их гораздо труднее обобщить. Обычно это помогает быть более явным в запросе, чем то, что может потребоваться в базе данных с более сложным оптимизатором запросов (например, Oracle или DB2).

7
ответ дан 6 December 2019 в 12:53
поделиться

Единственное нерушимое правило, которое я нашел до сих пор, - это то, что не существует нерушимых правил.

Иногда подзапрос выполняется быстрее, иногда соединение выполняется быстрее. Иногда вам нужен plpgsql, иногда вам нужен другой pl / *.

Наиболее адекватные советы:

  1. Убедитесь, что вы вакуумируете и анализируете (включите автоочистку)
  2. используйте объяснение, анализируйте и научитесь хорошо читать его вывод
  3. играть с базой данных. попробуйте делать что-то странным образом. обычно - не помогает. но иногда это происходит, и вы изучаете новые уловки.
8
ответ дан 6 December 2019 в 12:53
поделиться
Другие вопросы по тегам:

Похожие вопросы: