1

我们有一个总共由 450,000 行和 90 列组成的表。当我们执行一个简单的 Select * from table 时,我们会遇到 GC Overhead 问题并且该过程会失败。

表格大小为 140 - 160 MB

SELECT pg_size_pretty(pg_total_relation_size('mytable'));

我们有一个字段的索引,但是我们的查询中没有 WHERE 子句,所以我不确定这是否有帮助。

我们正在尝试以 10K 记录的批量大小进行查询。它失败了。奇怪的是,如果我们将批处理大小从 10K 减少到仅 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)*

我可以在数据库表级别进行哪些优化以使其正常工作?

4

0 回答 0