B树在MyISAM索引的峥嵘初露My

前三天都是死磕数据结构,终于找到了那个满足于我们的最大赢家B+树,Mysql创建表的时候,可以自己选择存储引擎,那么它又是怎么在MyISAM中独占鳌头呢。创建表选择存储引擎图选择完引擎之后每一个表都可以拥有自己不同的引擎方式,最终我们创建出索引,变创建为索引B+树结构MyISAM主键索引数据结构如下:图主键索引数据结构图最大的特点就是数据data和索引分离。上图可以看到每个父节点存储了8B的主键索引和6B字节点指针和B+树结构没有任何不同,重点在就在于叶子几点,他包含了两部分数据:索引+磁盘文件指针。这种结构是由MyISAM独特的存储方式决定的,比如:user_code表就由三部分组成,MYI文件,MYD文件和frm文件(新版本已经合并不在有frm文件)。数据文件MYI文件存储的是索引,MYD存储数据,这样的好处就是索引比B+树叶子节点存储数更加的节省空间,数据的量级别更大。同时由于这种结构一种非聚集索引,就是说明了他的结构特点,叶子节点数据和索引。并且在MyISAM联合索引和主键索引数据结构基本一致。结构决定它具有的优点就在于不需要很高的机器配置,查询速度比Iinnodb更快。myisam主要以查为主。当然我们使用的mysql使用的Iinnodb存储引擎,那么他有怎么的结构呢?同时上篇中的那几个问题呢?小编将整理为一个正篇去解析。


转载请注明:http://www.aierlanlan.com/rzgz/7169.html