PostgreSQL на RamDisk: размер work_mem и т. Д.? - PullRequest
1 голос
/ 07 февраля 2011

Я экспериментирую с запуском PostgreSQL на виртуальном диске в Windows. Я сделал это, просто поместив каталог данных на виртуальный диск.

Без каких-либо конкретных тестов производительность кажется великолепной и зависит только от процессора. Мой вопрос: каковы будут оптимальные значения для таких вещей, как work_mem, shared_buffers и т. Д.?

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

Редактировать: я должен упомянуть, что я использую утилиту RamDisk от DataRam.com. Это дает мне только синий экран время от времени, когда я настраиваю виртуальный диск, а не когда он установлен. Я считаю это ностальгией. ;)

Ответы [ 2 ]

1 голос
/ 08 февраля 2011

Да, используйте индексы, но work_mem по-прежнему зависит от размера самой машины.Конечно, одна из причин, по которой вам нужен высокий work_mem, заключается в том, что вы не нажимаете на диск для выполнения сортировки на ленте.На виртуальном диске это не так опасно.Просто помните, что у вас нет целостности данных на оперативном диске.

1 голос
/ 08 февраля 2011

Я бы определенно создал индексы.Движок может использовать информацию, содержащуюся для всех видов оптимизаций, и это должно немного улучшить вашу производительность.RamDisk решает наихудшие случаи сканирования типа таблицы, но это не обязательно означает, что сканирование таблицы выполняется быстрее, чем правильный поиск.

...