请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

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

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

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

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

正在回答

2回答

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

0 回复 有任何疑惑可以回复我~
  • 提问者 就我皮 #1
    老师 ,谁表 是不是打错字啦~
    回复 有任何疑惑可以回复我~ 2018-09-03 10:23:01
  • 提问者 就我皮 #2
    明白了,锁表存储方式。
    回复 有任何疑惑可以回复我~ 2018-09-03 10:37:25
  • 所以如果使用联合索引,字段会跟主键放在一起,可以节省一次数据筛选
    回复 有任何疑惑可以回复我~ 2022-08-31 22:07:05
提问者 就我皮 2018-09-03 10:15:20

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

0 回复 有任何疑惑可以回复我~
  • sqlercn #1
    其实整体上看,innodb不会锁表,所以在混合应用场景下innodb性能更好。
    回复 有任何疑惑可以回复我~ 2018-09-03 10:19:54
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信