MyISAM和 InnoDB 索引对比

image.png

写一个存储过程 随机取10W次 每次一条记录

image.png

image.png

image.png

建议:

  1. InnoDB尽可能通过主键读取记录

  2. InnoDB尽可能设计一个自增长的主键

  3. MyISAM尽可能通过主键或唯一索引读取记录

image.png

MyISAM耗时是InnoDB的1.06倍,InnoDB耗时是MyISAM的94%

这里没有考虑高并发情况下的对比,

因为MyISAM是表级锁 粒度比较大 并发读写

MyISAM只能把索引放到内存里     

InnoDB可以把索引和数据全部放在内存里

28原则,20%的热点数据产生80%的访问

如果把20%的热点数据都放在内存里面,这80%的访问量就会非常快

所InnoDB的优势是非常大的

InnoDB能把索引放到内存里