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;
相关推荐
jiayou6418 小时前
KingbaseES 实战:深度解析数据库对象访问权限管理
数据库
李广坤2 天前
MySQL 大表字段变更实践(改名 + 改类型 + 改长度)
数据库
爱可生开源社区3 天前
2026 年,优秀的 DBA 需要具备哪些素质?
数据库·人工智能·dba
随逸1773 天前
《从零搭建NestJS项目》
数据库·typescript
西岸行者3 天前
学习笔记:SKILLS 能帮助更好的vibe coding
笔记·学习
加号33 天前
windows系统下mysql多源数据库同步部署
数据库·windows·mysql
シ風箏3 天前
MySQL【部署 04】Docker部署 MySQL8.0.32 版本(网盘镜像及启动命令分享)
数据库·mysql·docker
李慕婉学姐3 天前
Springboot智慧社区系统设计与开发6n99s526(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
数据库·spring boot·后端
百锦再3 天前
Django实现接口token检测的实现方案
数据库·python·django·sqlite·flask·fastapi·pip
starlaky3 天前
Django入门笔记
笔记·django