gpt4 book ai didi

postgresql - RDS 上的 PostgreSQL 顺序扫描速度慢?

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

我有一个运行简单查询的 RDS PostgreSQL 实例,比我预期的要慢得多 - 特别是顺序扫描,例如复制表或对表进行计数。

例如。 create table copied_table as (select * from original_table)select count(*) from some_table

在 30GB 的表上运行 count(*) 大约需要 15 分钟(使用索引,紧接着是真空)。

这是一个 RDS db.r3.large,15 GB 内存,400GB SSD。查看指标日志,我从未见过读取 IOPS 超过 1,400,通常在 500 左右,远低于我的预期基数。

配置:工作内存:2GB,共享缓冲区:3GB,有效缓存大小:8GBwal_buffers:16MB,检查点_段:16

这是预期的时间吗?我应该看到更高的 IOPS 吗?

最佳答案

除了 9.6 中实现并行顺序扫描的 9.6 之外,您无法像在 Postgres 中那样围绕普通计数查询做很多事情,这在 RDS 中尚不可用。

尽管是事件,但您可以找到一些提示 here .通常,建议尝试通过在投影中创建索引及其列来使 Postgres 使用仅索引扫描

SELECT id FROM table WHERE id > 6 and id <100;
-- or
SELECT count(id) FROM table ...

表应该在该列上有一个索引。

您作为示例公开的查询不会避免顺序扫描。对于CREATE TABLE,如果不关心表中的顺序,可以开几个后端,通过key range过滤,并行导入。此外,在 RDS 上加速此操作的唯一方法是增加 IOP。

关于postgresql - RDS 上的 PostgreSQL 顺序扫描速度慢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39761013/

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