0

我正在使用 Postgres 文件数据包装器(file_fdw)从远程文件执行查询。有趣的是,我看到如果 Postgres 对二进制文件执行查询,它使用的主内存空间比文本文件(如 .csv)多。谁能确认为什么会这样?有没有办法优化这个?

我的文件包含两列(id | geometry),这里几何表示多边形。所以,我的外表由两列组成。我已经在 CSV 文件和 Postgres 兼容的二进制文件上使用 ST_Overlaps() 和 ST_Contains() 等连接查询进行了测试。

SELECT COUNT(*) FROM ftable1 a, ftable2 b WHERE ST_Overlaps(a.geom, b.geom);

我使用htop检查了 PostgreSQL 的内存使用情况,我看到如果 Postgres 对二进制文件执行查询,它使用的主内存空间比 CSV 文件多。例如,如果 CSV 为 500MB,那么二进制文件几乎为 1GB。为什么?

4

0 回答 0