浅谈 mysql聚簇索引与非聚簇索引

myisam:

用到的都是非聚簇索引,查询的速度会很快,为什么快,因为在查询时能够直接找到叶子节点上的物理指针,通过物理指针可以直接找到数据

innodb:

用到的都是聚簇索引,查询速度会慢一些,为什么,因为它的辅助索引在查询时,先查询到主键的key,再通过主键查找到数据,也就是要经历两次io操作,当然要更效率一些


上面咱们说到查询,在下面咱们说插入与删除操作

myisam:

插入速度慢,这个时候可能有人会说了,myisam的索引文件和数据文件是分开的,当我们插入一条数据是,只需在叶子节点上加个索引,数据文件上加条数据就行,而不需要动态的去维护数据,这不很快吗,我了插插,你这加了两次,那不是两次io吗

innodb:

插入速度快,这个时候又会有人说,innodb因为要做物理排序,特别当你插入一个在排序顺序上最小的值时,整个表都要往下移动

这效率能高吗!

你可能感兴趣的:(mysql)