↑↓ 选择↵ 打开⌫ 切换范围完整搜索

PG.CENTER 连接 PostgreSQL 文档、百科与生态知识。由 Pigsty 维护。

多一个索引列的代价超过多一百万行数据 RSS

Damaso Sanoja 用 PostgreSQL 17.10 加 TimescaleDB 2.29.1、一亿行数据做基准:给宽表时序模式新增一个索引列会让索引体积增加 864.9 MB,而新增一百万行只增加 30.1 MB,相差 28.7 倍,同时写入吞吐下降约六分之一。原因是多维索引的乘性效应,每多一个索引维度,需要跟踪的序列数就成倍增长。文章给出的解法是模式规范化:把描述性字段拆进元数据表,事实表只留代理键作索引列。

发布于 2026-09-10T06:53:46.02984Z · Damaso Sanoja · Tiger Data 博客
TimescaleDB 时序 索引

Damaso Sanoja 用 PostgreSQL 17.10 加 TimescaleDB 2.29.1、一亿行数据做基准:给宽表时序模式新增一个索引列会让索引体积增加 864.9 MB,而新增一百万行只增加 30.1 MB,相差 28.7 倍,同时写入吞吐下降约六分之一。原因是多维索引的乘性效应,每多一个索引维度,需要跟踪的序列数就成倍增长。文章给出的解法是模式规范化:把描述性字段拆进元数据表,事实表只留代理键作索引列。

Damaso Sanoja 用 PostgreSQL 17.10 加 TimescaleDB 2.29.1、一亿行数据做基准:给宽表时序模式新增一个索引列会让索引体积增加 864.9 MB,而新增一百万行只增加 30.1 MB,相差 28.7 倍,同时写入吞吐下降约六分之一。原因是多维索引的乘性效应,每多一个索引维度,需要跟踪的序列数就成倍增长。文章给出的解法是模式规范化:把描述性字段拆进元数据表,事实表只留代理键作索引列。

原始来源 ↗

来源记录
  • center.info_item · 71cd5ee049c353a5 · 2026-10-03T04:08:35.169032Z
  • pgweb.info_item · 71cd5ee049c353a5 · 2026-10-03T04:08:55.967155Z