暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

DB吐槽大会,第75期 - PG 不支持索引失效功能

原创 digoal 2022-01-20
868

作者

digoal

日期

2021-10-09

标签

PostgreSQL , 索引失效 , invalid index


视频回放

1、产品的问题点
- PG 不支持索引失效(invalid index)功能

2、问题点背后涉及的技术原理
- PG 执行计划会考虑使用索引, 除非这个索引被标记为invalid状态.
- 当数据发生变化时, invalid状态的索引依旧会被更新.

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

4、会导致什么问题?
- 当想临时排除某个索引对某些SQL执行计划的影响时, 只能drop index. 如果DROP后还有其他SQL想用到这个索引又不得不加上, 耗时而且浪费资源.
- 不清楚某个索引是否被用到, 直接DROP的话, 如果索引还要被用到, 再创建索引, 耗时而且浪费资源.

5、业务上应该如何避免这个坑
- 直接修改元数据, 实现invalid索引效果. 《PostgreSQL 改元信息 invalid index》
- 如果只是想清理未使用过的索引, 可以查看 pg_stat_all_indexes、pg_statio_all_indexes 索引统计信息来判断索引是否被使用.
- 《PostgreSQL DBA最常用SQL》

6、业务上避免这个坑牺牲了什么, 会引入什么新的问题
- 改元数据的风险较大

7、数据库未来产品迭代如何修复这个坑
- 建议支持invalid index语法. invalid index 继续保持索引的更新, 随时可以改回valid.

期望 PostgreSQL 增加什么功能?

类似Oracle RAC架构的PostgreSQL已开源: 阿里云PolarDB for PostgreSQL云原生分布式开源数据库!

PostgreSQL 解决方案集合

德哥 / digoal's github - 公益是一辈子的事.

digoal's wechat

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论