熟悉关系数据库的人应该对索引不陌生。单列索引,多列索引,B树索引,位图索引,事务索引,三星索引等等。读研时期导师就说,索引可以作为一个研究课题搞一辈子。撇开最新的理论创新,即使了解过一些的研究成功,坑需要从一些大部头的著作看起。每年VLDB,sigmod上的关于索引的文章也很多。
本文不打算过于深入,针对常见的一些索引技术做一些总结,算是入门知识吧。
最常见的两种索引数据结构是B+树和LSM-tree。如果从时间复杂度方面对比分析如下:
| |
B+ Tree |
LSM Tree |

本文介绍了数据库索引的基本概念,重点对比了B+树和LSM-Tree两种常见的索引数据结构。B+树在缓存友好性和随机IO上有优势,而LSM-Tree适合批量写入。随着大数据和复杂应用场景的需求,出现了如Fractal Tree、Badger等变种。位图索引和布隆过滤器在特定场景下也有广泛应用,而谷歌的深度学习构建索引仍处于理论阶段。
最低0.47元/天 解锁文章
909

被折叠的 条评论
为什么被折叠?



