mysql引擎
MyISAM与InnoDB两者之间区别
在mysql中,支持几种引擎,其中包括MyISAM与InnoDB,两者皆采用B+Tree的数据结构,树+链表
MyISAM:
索引和数据是分开的,也叫非聚集索引,不管是以自增ID作为索引还是以其他作为索引,最下层的叶子节点存放的是一个物理地址,通过这个物理地址找到需要的数据
InnoDB:
索引和数据是分开的,也叫聚集索引,如果是采用自增ID作为索引,那么最下层的叶子节点存放的是真实数据,如果是采用其他的索引,那么最下层的叶子节点存放的是主键ID(通过索引找到主键ID,再通过主键ID找到真实数据,这就是为什么推荐用自增主键作为索引。如果某个表是InnoDB引擎,那么表里面的数据所分配的是内存空间是连续的,这样采用自增ID作为索引,查询效率更高,因为他查询的是某个范围里面的)