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;
相关推荐
科技小花3 小时前
全球化深水区,数据治理成为企业出海 “核心竞争力”
大数据·数据库·人工智能·数据治理·数据中台·全球化
X56614 小时前
如何在 Laravel 中正确保存嵌套动态表单数据(主服务与子服务)
jvm·数据库·python
ZC跨境爬虫5 小时前
跟着 MDN 学 HTML day_9:(信件语义标记)
前端·css·笔记·ui·html
虹科网络安全5 小时前
艾体宝干货|数据复制详解:类型、原理与适用场景
java·开发语言·数据库
2301_771717216 小时前
解决mysql报错:1406, Data too long for column
android·数据库·mysql
小江的记录本6 小时前
【Kafka核心】架构模型:Producer、Broker、Consumer、Consumer Group、Topic、Partition、Replica
java·数据库·分布式·后端·搜索引擎·架构·kafka
dvjr cloi6 小时前
MySQL Workbench菜单汉化为中文
android·数据库·mysql
dFObBIMmai7 小时前
MySQL主从同步中大事务导致的延迟_如何拆分大事务优化同步
jvm·数据库·python
szccyw07 小时前
mysql如何限制特定存储过程执行权限_MySQL存储过程安全访问
jvm·数据库·python
czlczl200209257 小时前
利用“延迟关联”优化 MySQL 巨量数据的深分页查询
数据库·mysql