MyISAM与InnoDB的索引差异

1、索引介绍

数据库索引的本质是B+树,原因有以下几点
(1)很适合磁盘存储,能够充分利用局部性原理,磁盘预读
(2)很低的树高度,能够存储大量数据
(3)索引本身占用的内存很小
(4)能够很好地支持单点查询、范围查询、有序性查询

索引分为主键索引和普通索引

二、MyISAM索引

MyISAM索引与行记录是分开储存的,叫做非聚集索引
其主键索引和普通索引没有本质差异
有连续聚集的区域单独存储行记录
主键索引的叶子节点,储存主键,与对应记录的指针
普通索引的叶子节点,储存索引列,与对应行记录的指针
MyISAM索引的表可以没有主键

三、InnoDB索引

InnoDB索引的主键索引与行记录是存储在一起的,叫做聚集索引
没有单独区域存储行记录
主键索引的叶子节点,储存主键,与对应行记录

四、总结

MyISAM和InnoDB都使用B+树来实现索引:

MyISAM的索引与数据分开存储

MyISAM的索引叶子存储指针,主键索引与普通索引无太大区别

InnoDB的聚集索引和数据行统一存储

InnoDB的聚集索引存储数据行本身,普通索引存储主键

InnoDB一定有且只有一个聚集索引

InnoDB建议使用趋势递增整数作为PK,而不宜使用较长的列作为PK

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值