The Question and most of the Answers are out of date.
Yes, it is an old wives' tale that MyISAM is faster than InnoDB. notice the Question's date: 2008; it is now almost a decade later. InnoDB has made significant performance strides since then.
The dramatic graph was for the one case where MyISAM wins: COUNT(*)
without a WHERE
clause. But is that really what you spend your time doing?
If you run concurrency test, InnoDB is very likely to win, even against MEMORY
.
If you do any writes while benchmarking SELECTs
, MyISAM and MEMORY
are likely to lose because of table-level locking.
In fact, Oracle is so sure that InnoDB is better that they have all but removed MyISAM from 8.0.
The Question was written early in the days of 5.1. Since then, these major versions were marked "General Availability":
- 2010: 5.5 (.8 in Dec.)
- 2013: 5.6 (.10 in Feb.)
- 2015: 5.7 (.9 in Oct.)
- 2018: 8.0 (.11 in Apr.)
Bottom line: Don't use MyISAM