PostgreSQL 拥有非常强大的索引系统,除了传统的 B-Tree 索引外,它还专门为不同的数据类型和查询场景(如全文检索、空间地理数据、JSON文档、海量时序数据)提供了多种高级索引类型。 PostgreSQL 原生支持以下 6 种基本索引类型: 1. B-Tree 索引 (B树索引) 这是 PostgreSQL 的 默认索引类型。当你执行 而不指定类型时,默认创建的就是 B-Tree 索引。 适用场景:绝大多数常规查询。适合处理可以被排序的数据。 支持的操作符:、、、、。 特性: 支持范围查询(Range Query)和等值查询(Equality Query)。 支持 排序。 支持模式匹配查询(如 ,但不支持通配符开头的 )。 2. Hash 索引 (哈希索引) 基于哈希表实现的索引。 适用场景:仅限于等值查询。 支持的操作符:。 特性: 在 PostgreSQL 10 之前,Hash 索引不记录在 WAL(预写式日志)中,因此崩溃后不安全,且不支持流复制。从 PG 10 开始,Hash 索引已被彻底修复,完全可靠。 对于极长的字符串进行等值比较时,Hash 索引的体积通...