为什么MyISAM会比Innodb的查询速度快?

来源:2-2 CPU资源和可用内存大小

就我皮

2018-09-03

首先MyISAM的数据是存储在磁盘上的。而Innodb的数据是存储在内存中。

从内存中查数据的速度明显会高于磁盘IO,但是为什么 还是MyISAM会比Innodb的查询速度快?

还是我之前一直有误区,其实是Innodb会比MyISAM在查询上会性能更好点。

写回答

2回答

sqlercn

2018-09-03

myisam是谁表存储方式,索引直接拆问数据的物理地址,而innodb是聚集索引,非主键索引指向主键,所以数据需要通过主键进行二次查找。

0
3
天空蓝丶
所以如果使用联合索引,字段会跟主键放在一起,可以节省一次数据筛选
2022-08-31
共3条回复

就我皮

提问者

2018-09-03

是因为第一次查询的时候 会将数据写入缓存吗?MYISAM只要缓存索引,那么可以理解成 第二次 查询的时候的时候,同样的sql,如果采用的是Innodb,查询速度会提高很多?

0
1
sqlercn
其实整体上看,innodb不会锁表,所以在混合应用场景下innodb性能更好。
2018-09-03
共1条回复

MySQL提升课程 全面讲解MySQL架构设计

面面俱到讲解影响MySQL性能的各个因素,让MySQL架构了然于胸。

4419 学习 · 547 问题

查看课程