PostgreSQL笔记

索引类型 底层结构 核心特点 适用场景
B-Tree(默认) 平衡树 支持等值、范围查询(=、>、<、BETWEEN),排序 / 分组优化,PG 最常用 主键、外键、普通字段(如 id、create_time、name)
Hash 哈希表 仅支持等值查询(=),效率比 B-Tree 高,但不支持范围 / 排序 高频等值查询的字段(如用户手机号、唯一标识)
GIN 倒排索引 支持多值类型(数组、JSONB)、全文检索,适合「包含 / 匹配」查询 JSONB 字段、数组字段、全文搜索(如文章内容)
GiST 通用搜索树 支持空间数据(GIS)、几何类型、全文检索,灵活性高 地理位置(POINT/POLYGON)、全文检索
BRIN 块范围索引 占用空间极小(MB 级),适合有序且大范围的字段(如时间戳) 海量时序数据(如日志表的 create_time)
SP-GiST 空间分区 GiST 优化非平衡数据结构的查询(如四叉树、k-d 树) 特殊空间数据、IP 地址范围查询
  1. 核心索引选择:普通等值 / 范围查询用 B-Tree,JSONB / 数组用 GIN,纯等值查询用 Hash,海量时序数据用 BRIN;
相关推荐
devmoon8 小时前
在 Polkadot Runtime 中添加多个 Pallet 实例实战指南
java·开发语言·数据库·web3·区块链·波卡
认真的薛薛8 小时前
数据库-sql语句
数据库·sql·oracle
爱学英语的程序员8 小时前
面试官:你了解过哪些数据库?
java·数据库·spring boot·sql·mysql·mybatis
智者知已应修善业9 小时前
【洛谷P9975奶牛被病毒传染最少数量推导,导出多样例】2025-2-26
c语言·c++·经验分享·笔记·算法·推荐算法
Junlan279 小时前
Cursor使用入门及连接服务器方法(更新中)
服务器·人工智能·笔记
risc1234569 小时前
如何认识结构?结构 = 要素 + 关系 + 动态
笔记
·云扬·9 小时前
MySQL Redo Log落盘机制深度解析
数据库·mysql
用户9828630256810 小时前
pg内核实现细节
数据库
風清掦10 小时前
【江科大STM32学习笔记-05】EXTI外部中断11
笔记·stm32·学习
飞升不如收破烂~10 小时前
Redis 分布式锁+接口幂等性使用+当下流行的限流方案「落地实操」+用户连续点击两下按钮的解决方案自用总结
数据库·redis·分布式