1.存储的理解
首先是存储kv结构,使用树的结构
二叉树=》BST=》AVL树=》红黑树
B树=》B+树
二叉树的话,要想存储更多的数据,需要加深树的深度,这样就会导致IO操作的次数增多,查询变慢。
所以采用B树,但是因为B树,每层有K,V和data,data占用空间大,三层的结构也就大约能存储 4000多条数量级的数据。只能增加层级,又带来了 IO操作的增多。
优化为B+树,除了最底层保留了数据data,别的层级只是有K,V,这样的话,三层结构能存储千万级别的数据量,相对于B树能存储的数量提升了 1万倍。
2.一些概念
1)回表
2)索引覆盖
3)最左匹配
4)索引下放