写在前面:本文转载自别人
拜读了这位老哥的博客,写得很详细,我只写上链接,不copy原文,有兴趣的朋友可以去原文看看
里面详细得介绍了
1,INNODB与MYISAM的区别原理,底层实现
2,B+TREE在两种不同引掣上实现的差异
3,磁盘存取的流程
4,为什么选择用B+TREE,而不是B-TREE,二叉,红黑,或者HASH
文章干货很多,深入浅出,而不是常见文章中的,INNODB支持事务,MYISAM不支持等这些,也不是打广告,是解答了自己在学习过程中的一些不明白的点,受益良多,所以在这里转载了一下当然有一些没有讲到的就是,1,INNODB的四大特性
自适应HASH这个很重要,具体到等值查询和范围查询上,也有缺点,占用更多的内存
预读,这是INNODB的一种基于数据存储在磁盘上面的优化,因为有寻址的时间,所以采用预读的方式
插入缓冲,简言之,就是在插入前进行合并和整理操作,避免多次的重复IO消耗,可以理解为,在入库前,我们在代码里把数据整理好一样
二次写入,简言之既做缓冲,又双写,防止系统崩溃时,从IO日志中读取
2,可以把两种引掣所对应更加适用的业务场景结合一下
写在最后:
一是为了把这种文章分享出来
二是自己在有些遗忘的时候可以回顾