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;
相关推荐
墨黎芜14 分钟前
SQL Server从入门到精通——C#与数据库
数据库·学习·信息可视化
爱学习的阿磊14 分钟前
持续集成/持续部署(CI/CD) for Python
jvm·数据库·python
一个响当当的名号14 分钟前
lectrue10 排序和聚合算法
数据库
hamawari21 分钟前
SQL语法
数据库·sql·oracle
wdfk_prog22 分钟前
[Linux]学习笔记系列 -- [drivers][dma]stm32-dma
linux·笔记·学习
BlackWolfSky24 分钟前
鸿蒙中级课程笔记13—应用/元服务上架
笔记·华为·harmonyos
陌上丨25 分钟前
Redis内存使用率在95%以上,请问是什么原因?如何解决?
数据库·redis·缓存
m0_5613596737 分钟前
使用PyQt5创建现代化的桌面应用程序
jvm·数据库·python
2301_7903009638 分钟前
用Python实现自动化的Web测试(Selenium)
jvm·数据库·python