gpt4 book ai didi

postgresql - 如何在 postgresql select 中设置 worker 数?

转载 作者:行者123 更新时间:2023-12-02 16:27:08 24 4
gpt4 key购买 nike

如标题所述,我可以运行以下查询:

EXPLAIN ANALYZE SELECT * FROM accounts WHERE screen_name='realDonaldTrump';

并得到输出:

Gather  (cost=1000.00..87090.59 rows=1 width=122) (actual time=369.168..383.632 rows=1 loops=1)
Workers Planned: 2
Workers Launched: 2
-> Parallel Seq Scan on accounts (cost=0.00..86090.49 rows=1 width=122) (actual time=312.741..326.849 rows=0 loops=3)
Filter: ((screen_name)::text = 'realDonaldTrump'::text)
Rows Removed by Filter: 1156140
Planning Time: 0.065 ms
Execution Time: 383.649 ms

现在我的问题是如何转换此查询以使用更多或更少的工作人员?我在网上找到了一些参数,例如 max_parallel_workers,但我无法将它们合并到查询中。我正在从 pycharm -> postgresql 控制台运行这个查询。

编辑:从评论运行查询后,这是输出:

Gather  (cost=1000.00..87090.59 rows=1 width=122) (actual time=348.717..403.839 rows=1 loops=1)
Workers Planned: 2
Workers Launched: 2
-> Parallel Seq Scan on accounts (cost=0.00..86090.49 rows=1 width=122) (actual time=311.207..324.566 rows=0 loops=3)
Filter: ((screen_name)::text = 'realDonaldTrump'::text)
Rows Removed by Filter: 1156140
Planning Time: 0.563 ms
Execution Time: 403.856 ms

编辑 2:在弄乱 postgresql.conf 文件并更改 max_parallel_workers_per_gathermax_parallel_workers 的值然后重新启动 postgres 后,没有任何变化。只有在我运行这个查询之后:

SET max_parallel_workers_per_gather = 4;

初始 sql 查询是否与请求的 4 个工作人员一起运行。

最佳答案

你可以增加max_parallel_workers_per_gather,也可以

ALTER TABLE accounts SET (parallel_workers = 6);

关于postgresql - 如何在 postgresql select 中设置 worker 数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64225506/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com