我有一个大型查询需要优化。使用 EXPLAIN(ANALYZE) 生成解释计划后,我注意到查询在排序中使用磁盘空间。
排序方式:外部合并磁盘:201,816kB Worker 0:排序方法:外部合并磁盘:205,392kB Worker 1:排序方法:外部合并磁盘:200,776kB
如果我暂时将 work_mem 设置为 200mb 是否安全,或者我应该保留在 4mb 吗?
生成查询计划和排序使用磁盘而不是内存。
安全不安全只取决于你内存够不够。我将使用数据库事务并使用
SET LOCAL
更改参数,以便在事务结束时自动重置。