为什么myisam查询比innodb快?

    科技2025-11-28  19

    是什么

    了解这个问题,需要先了解innobd和myisam先。这两个是数据库的实现引擎,其中innodb是比较新的,myisam是5.5之前用的,双方各自有各自的优点。详情请看

    问题解答(需要对于innodb和myisam有一定的理解才看得懂)

    为什么myisam查询比innodb快? 主要原因有三点:

    查询的时候,由于innodb支持事务,所以会有mvvc的一个比较。这个过程会损耗性能。查询的时候,如果走了索引,由于innodb是聚簇索引,会有一个回表的过程,即:先去非聚簇索引树中查询数据,找到数据对应的key之后,再通过key回表到聚簇索引树,最后找到需要的数据。而myisam直接就是簇集索引,查询的时候查到的最后结果不是聚簇索引树的key,而是磁盘地址,所以会直接去查询磁盘。详解锁的一个损耗,innodb锁支持行锁,在检查锁的时候不仅检查表锁,还要看行锁。

    参考

    innodb的优点
    Processed: 0.020, SQL: 9