索引的类型
从存储结构上来划分:
BTree索引(B-Tree或B+Tree索引);
Hash索引;
full-index全文索引;
R-Tree索引
这里所描述的是索引存储时保存的形式
从应用层次来分:
主键索引;
普通索引;
唯一索引;
复合索引(联合索引);
空间索引;
根据中数据的物理顺序与键值的逻辑(索引)顺序关系:
聚集索引(聚族索引);
非聚集索引(非聚族索引);
总结
| 索引类型 | 概念 |
|---|---|
| 普通索引 | 一个索引只包含一个列,一个表可以有多个单列索引 |
| 唯一索引 | 索引列的值必须唯一,但允许有空值 |
| 复合索引 | 多列值组成一个索引,专门用于组合搜索,其效率大于索引合并 |
| 聚簇索引 | 也称为主键索引,是一种数据存储方式。 B+Tree结构, 非叶子节点包含健值和指针,叶子节点包含索引列和行数据。 一张表只能有一个聚簇索引。 |
| 非聚簇索引 | 不是聚簇索引,就是非聚簇索引。 叶子节点只是存索引列和主键id。 如果sql还要返回除了索引列的其他字段信息,需要回表, 第一次索引一般是顺序IO,回表的操作属于随机IO。 回表的次数越多,性能越差 |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Michael's Blog!
评论



