在postgres中组织10个或更多连接的整个表的快速读取的最佳方式



我有一个表,里面有大约200k-400k条记录,共6列。当转储到python的json数组时,它的大小不超过16MB。有20个连接,在特定的时间段内将读取整个表。如何优化此流程?有没有办法"准备"这些数据(可能直接将其缓存在RAM中(?您能为这些表格提出最佳解决方案吗?

PostgreSQL将在第一次读取该表时将其缓存在RAM中。

一个例外是,如果表大于shared_buffers的四分之一:那么PostgreSQL将使用一个小的环形缓冲区进行顺序扫描,以避免耗尽整个缓存。但对于这样的小桌子来说,这似乎不太可能。

如果你也想加快表格的第一次扫描速度,你可以明确地将其加载到RAM中:

CREATE EXTENSION pg_prewarm;
SELECT pg_prewarm('table_name');

最新更新