我在db.x2g.2xlarge
实例上的 Aurora PostgreSQL 上运行。简单地创建临时表显示为第三高的等待,这让我感到惊讶,因为我预计它是最短的查询之一。
该查询在事务中调用:
CREATE TEMP TABLE identifiers_to_resolve (
scheme_pk BIGINT,
host_pk BIGINT,
port INT NOT NULL,
scheme_specific_part VARCHAR NOT NULL,
index INTEGER NOT NULL
) ON COMMIT DROP;
我想在更复杂的查询期间使用临时表作为事务中临时存储。
来自性能洞察的统计数据:
- 等待负载 (AAS):0.42
- 调用/秒:123.64
- 批量点击/秒:48499.58
- 块写入/秒:16.32
- 每次调用的平均延迟毫秒:3.24
- 批量点击/跟注 329.27
- 块写入/调用 0.13
所有其他统计数据均为 0。
性能洞察将等待记录为几乎所有“CPU”。附截图。
我认为每秒 123 次调用是相当低的速率,而且我很惊讶它对数据库造成了如此大的负担,并触及了这么多块。从我阅读的临时表用例来看,我预计它们的影响较小。
创建临时表是否会导致如此多的 CPU 等待?