mysql的四种索引与InnoDB的四种索引区别

版权声明:本原创文章来自星光的装作,严禁转载,盗版必究 https://blog.csdn.net/qq_26791111/article/details/84529438

mysql引擎的四种索引&&表的四种索引区别

mysql引擎的四种索引与表的四种索引是不同的,千万不要混淆了

  1. 引擎的四种索引:B+树引、R树引、哈希索引、全文索引
  2. 表的四种索引:主键索引、唯一索引、普通索引、全文索引

引擎的索引支持

* Myisam InnoDB BDB Memory Archive
全文索引 Y Y
B+树索引 Y Y Y Y
哈希索引 Y Y
R树索引 Y Y
索引缓存 Y Y Y

表的索引

* Myisam InnoDB BDB Memory Archive
主键索引 Y Y Y Y
唯一索引 Y Y Y Y
普通索引 Y Y Y Y
全文索引 Y Y Y


误区1:二叉树索引

注意:mysql不支持二叉树索引,B树、B+树不是二叉树。
在这里插入图片描述


在这里插入图片描述


注意:如果二叉树插入的数据一次比一次大呢?比如ID自增?看下图

在这里插入图片描述

总结:发现二叉树就会生成一万多节,性能不一定能提示多少



误区2:InnoDB不支持哈希索引

请看mysql官方文档在这里插入图片描述
总结:InnoDB不支持hash索引,但又给出了一个特殊的解释。mysqlInnoDB存储引擎 是支持hash索引的,不过,我们必须启用,hash索引的创建由InnoDB存储引擎引擎自动优化创建,我们干预不了。



误区3:索引指向数据所在的磁盘地址

在这里插入图片描述
总结:Innodb的索引是指向主键索引,主键索引指向文件地址; MyISMA的索引是直接指向文件地址;

猜你喜欢

转载自blog.csdn.net/qq_26791111/article/details/84529438
今日推荐