om/数据库/mysql/索引.md

900 B
Raw Blame History

Innodb

存储文件有2个表结构文件和索引数据文件索引和数据在一个文件中减少一次io。

MySim

存储需要3个文件表结构文件索引文件和数据文件先比Innodb多一次io。

二叉树

  1. 二叉树
  2. BST树Binary Search Tree二叉搜索树
  3. AVL树
  4. 红黑树

多叉树

B-树,数据存储在节点上

B+树,数据存贮在最终叶子节点上

相同树高下B+数可以搜索更多数据。

一般情况下3-4层的B+数可以支持千万级别的数据量。

对于频繁更新的字段,最好不要添加索引。

数据迁移比较慢,可以先删除索引,数据迁移完成后,重新构建索引。

跟数据绑定的索引称为聚簇索引,没有跟数据绑定的索引称为非聚簇索引。

数据只存储一份,一个索引一个树,其他索引的叶子节点指向聚簇索引。