逻辑上:
-
Single column indexes单列索引
-
Combined Indexes, Multiple-Column Indexes多列索引
-
Unique 唯一索引
-
NonUnique非唯一索引
索引结构:
B-Tree:
-
适合大量的增,删,改(OLTP)
-
不能用包含OR操作符的查询
-
适合高基数的列(唯一值多)
-
典型的树状结构
-
每个节点都是数据块
-
大多数都是物理上一层,两层或三层不定,逻辑上三层,mysql一般都是3层除非数据量非常大 才会变成四层
-
叶子块数据是排序的,从左向右递增
-
在分支块和根块中放的是索引的范围
hash:
-
适合小规模数据集快速定位
-
适合管理内存结构体,LRU链表等
-
不支持范围查询
-
不支持模糊搜索
-
不支持排序
tokudb 可以支持多个聚集索引