gpt4 book ai didi

postgresql - 按行 ID 拆分的并发选择查询与一个查询

转载 作者:行者123 更新时间:2023-11-29 11:40:01 29 4
gpt4 key购买 nike

SELECT 查询一个表 l 时,没有连接,有数十亿行,通过将查询拆分为多个查询来运行并发查询是个好主意,拆分通过索引列分成不同的子集/范围,比如整数主键 id?还是 Postgres 内部已经这样做了,导致最终用户的速度没有显着提高?

我有两个用例:

  1. 获取总行数

  2. 获取id的列表

Edit-1:查询在其中一列没有索引的列上有条件子句,而其他列有索引

SELECT id 
FROM l
WHERE indexed_column-1='A'
AND indexed_column-2='B'
AND not_indexed_column-1='C'

最佳答案

Postgres 从 9.6 版本开始就内置了并行化。 (在当前版本中有所改进。)这将比在大表上手动拆分 SELECT 效率更高。

可以设置max_parallel_workers的个数根据您的需要进行优化。

虽然您只对 id 列感兴趣,但它可能有助于在 (id) 上建立索引(如果它是 PK)并满足先决条件index-only scan .

关于postgresql - 按行 ID 拆分的并发选择查询与一个查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56829431/

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