【发布时间】:2022-01-24 12:12:30
【问题描述】:
这个索引创建速度很慢(200 万行):
CREATE UNIQUE INDEX foo_index_id ON foo (id);
我修改了几个对总时间没有显着影响的参数:
- max_parallel_maintenance_workers
- maintenance_work_mem
manual 指出 I/O 和 CPU 可能是瓶颈。
增加 max_parallel_maintenance_workers 可能允许更多的工人 使用,这样会减少创建索引所需的时间这么长 因为索引构建尚未受 I/O 限制。当然应该有 也有足够的 CPU 容量,否则会闲置。
如何检查哪个资源实际上是瓶颈?
我尝试运行一个解释计划,其中包含 I/O 时间来猜测,但 it is not allowed 用于此类查询。
(数据库由 DBaaS 托管,因此我无法访问服务器本身来获取操作系统指标)
【问题讨论】:
标签: postgresql index