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;
相关推荐
Logintern0920 分钟前
理解MySQL数据库的“事务与锁”
数据库·mysql
朱容zr33313341 分钟前
为什么推荐使用自增主键?使用UUID作为主键的优缺点是什么?
java·运维·数据库·后端·mysql·面试·性能优化
麻瓜code1 小时前
【Redis 】数据类型、持久化与过期删除
数据库·redis·缓存
2501_942389551 小时前
Nifty IT指数的K线犹如断线的风筝
人工智能·postgresql·时序数据库·storm·tdengine
空杆推不起1 小时前
穿透 Flink CDC 表层用法:数据库日志捕获机制、Flink Source 运行时、端到端一致性底层原理详解
大数据·数据库·flink
朱容zr3331331 小时前
请解释“回表”的概念。
java·前端·数据库
软件技术NINI1 小时前
盗墓笔记html+css+js 2页
css·笔记·html
大黄说说2 小时前
EF Core 避坑指南:查询慢、循环查询、并发更新问题如何解决
java·服务器·数据库
城管不管2 小时前
重生——第五次面试2026.8.1一面
java·数据库·后端·ai·面试·职场和发展·agent
ocean'2 小时前
防火墙策略路由
linux·服务器·数据库