ВЫБЕРИТЕ все для огромного стола, не работающего в Postgres
У нас есть таблица, состоящая из 450 000 строк и 90 столбцов. Когда мы делаем простой выбор * из таблицы, мы получаем проблему с издержками GC, и процесс завершается неудачно.
Размер таблицы 140 - 160 МБ
SELECT pg_size_pretty(pg_total_relation_size('mytable'));
У нас есть индекс поля, но в нашем запросе нет предложения WHERE, поэтому я не уверен, поможет ли это.
Мы пытаемся сделать запрос размером 10K записей. Это терпит неудачу для этого. Как ни странно, если мы уменьшили размер пакета с 10 КБ до 10 (да, 10), это по-прежнему дает ту же ошибку при загрузке GC.
Вот конфигурация на нашем конце Postgresql (мы используем AWS RDS)
temp_buffer = 8MB
shared_buffers = 32768 (recommended size is 393216 (25% of our maximum memory which is 1.5TB))
work_mem = 4MB (default engine)
effective_cache_size = 16384 (where as the default seems to be 4GB according to documentation)*
Какую оптимизацию я могу сделать на уровне таблицы базы данных, чтобы это работало?