В материале "How to optimize PostgreSQL database size (http://linux.inet.hr/optimize_postgresql_database_size.html)" производится сравнение методов уменьшения размера баз на диске, данные которых из-за интенсивного обновления требуют все больше места.
Для эксперимента использовалась база размером почти 5876 Мб. Ниже результаты предпринятых процедур по оптимизации:- После выполнения "vacuumdb -afvz" размер сократился до 4278 Мб, для выполнения операции потребовалось около 3 часов.
- Перестроение индексов (reindexdb) заняло 9 минут и уменьшило размер базы до 1990 Мб (включая проведение vacuum).
- Пересоздание базы через dump и restore потребовало для своего выполнения 20 минут и сократило размер до 1685 Мб.
Что касается MySQL, то можно отметить публикацию заметки "Using MyISAM in production (http://www.mysqlperformanceblog.com/2006/06/17/using-myisam-.../)" в которой описываются некоторые подводные камни использования MyISAM таблиц под большой нагрузкой, даются рекомендации (http://arjen-lentz.livejournal.com/74300.html) по оптимизации.URL: http://linux.inet.hr/optimize_postgresql_database_size.html
Новость: http://www.opennet.me/opennews/art.shtml?num=7745
Интерестные исследования, вот только не ясно в чем была необходимость после reindexdb делать vacuum full. Не думаю, что многие сервера могут себе позволить 3 часа простоя.
Странно. Но у меня достаточно было нескольких ANALYZE, VACUUM... в особенно часто обновляемых таблицах и база просто не растет... Пока не делал - росла. что было - то было. Нафига reindex было делать?PostgreSQL 8.1.4
Что-то вы не дочитали.
Я не нашел в статье, где после реиндекса сделали вакуум фулл.
Для Анонима:
В статье версия посгреса 7.4.8, а 8.1 сам делает avtovacuum.
vacuum full не делает полной блокировки уже давно
"Не думаю, что многие сервера могут себе позволить 3 часа простоя."
Ну, например, можно такого рода операции выполнять ночью.