【DB吐槽大】,第31期 - PG 不支持分区索引

简介: 大家好,这里是DB吐槽大会,第31期 - PG 不支持分区索引

背景


1、产品的问题点

  • PG 不支持分区索引

2、问题点背后涉及的技术原理

  • PG的索引支持到表级别, 如果是分区表那么每个分区创建对应索引, 索引不能单独进行分区. 例如一个100亿条记录的单表, 如果要创建索引只能创建普通索引, 索引本身不能分区.

3、这个问题将影响哪些行业以及业务场景

  • 当单表较大时

4、会导致什么问题?

  • 单表较大时, 索引也会非常庞大, 可能带来一些问题:
  • 创建索引的耗时变长,
  • 索引深度变大导致性能下降,
  • 索引的垃圾回收时间变长.
  • 如果系统中有多个块设备、多个表空间, 由于1个索引只能存放在1个表空间内, 那么无法很好的利用多个块设备的性能.

5、业务上应该如何避免这个坑

  • 避免单表(或单一分区)的数据量过大, 例如不超过10亿条记录(经验). 超过后建议分区.
  • 如果更新频率巨大, 例如建议单个分区不超过1亿条(经验)

6、业务上避免这个坑牺牲了什么, 会引入什么新的问题

  • 管理成本增加

7、数据库未来产品迭代如何修复这个坑

  • 内核层面支持分区索引, 如果是分区表则可以支持指定其他索引分区键.
  • 根据某些表达式、字段HASH、范围分区
  • 每个索引分区可以指定不同的表空间.



相关文章
|
存储 Oracle 关系型数据库
PostgreSQL体系架构介绍
PostgreSQL体系架构介绍
1803 0
PostgreSQL体系架构介绍
|
7月前
|
存储 SQL 关系型数据库
AI时代,当 MySQL 遇见列式存储引擎 DuckDB
在AI浪潮席卷全球的今天,有人认为关系型数据库已走向黄昏,MySQL 的生命力正在被边缘化。但事实真的如此吗?AliSQL,作为 MySQL 的重要分支,自2010年诞生以来,始终默默支撑着阿里巴巴集团核心业务的高并发、高可用需求。它从未消失,只是沉寂太久。 2026年,AliSQL社区的一帮开发者们,开始为AliSQL注入创新的血液!这是他们的第一篇,系统阐述了MySQL深度融合DuckDB的重大技术实践。这不仅是对“MySQL 只擅长 TP”这一行业共识的突破性回应,更是一次兼具工程魄力与架构远见的创新。
AI时代,当 MySQL 遇见列式存储引擎 DuckDB
|
11月前
|
缓存 测试技术 API
京东 item_search 接口对接全攻略:从入门到精通
京东item_search接口是按关键字搜索商品的核心API,支持多条件筛选与排序,适用于电商、比价及市场分析。本文详解其对接流程、参数使用、签名生成、代码实现及最佳实践,助力开发者高效构建稳定、合规的商品搜索功能。
|
数据库
达梦数据库最大连接数处理
达梦数据库最大连接数处理
827 0
|
Cloud Native 关系型数据库 分布式数据库
登顶TPC-C|云原生数据库PolarDB技术揭秘:Limitless集群和分布式扩展篇
云原生数据库PolarDB技术揭秘:Limitless集群和分布式扩展篇
|
监控 Kubernetes Cloud Native
多语言应用监控最优选,ARMS 应用监控 eBPF 版正式发布
多语言应用监控最优选,ARMS 应用监控 eBPF 版正式发布
131744 136
|
SQL 存储 关系型数据库
详解 SQL 中的 UNION、MINUS 和 INTERSECT 命令
【8月更文挑战第31天】
1530 0
如何检测本地网络是否稳定
如何检测本地网络是否稳定
1168 0
BackTrader 中文文档(五)(2)
BackTrader 中文文档(五)
390 0