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