数据库索引的底层结构主要取决于数据库类型(关系型 / NoSQL)和具体实现,但核心目标都是:加速数据检索、减少磁盘 I/O。下面按主流结构系统讲解。
代表:MySQL InnoDB、PostgreSQL、Oracle、SQL Server
[10, 20]
/ | \
[1-9] [10-19] [20-29]
代表:MySQL Memory 引擎、部分 NoSQL
用于:地理信息、多维数据
用于:LIKE ‘%xx%’、搜索引擎
| 数据库 | 索引结构 |
|---|---|
| Redis | 跳表 / 哈希 |
| MongoDB | B Tree |
| Elasticsearch | 倒排索引 |
| HBase | LSM Tree + 多层索引 |
代表:HBase、Cassandra、RocksDB
大多数关系型数据库用 B+ Tree,因为它最平衡;
写多读少用 LSM Tree;
等值用 Hash;
搜索用倒排。
如果你愿意,我可以进一步讲:
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。