Everyone who started using MySQL before 5.5 started off with MyIsam. It was the default storage engine and you had to go out of your way to use anything else. It was a good looking database, rugged, simple and fast in many respects. But crash recovery was not a MyIsam forte. Neither was locking or transactions. Speed was pretty good on reads. But many database snobs pointed to the short comings of MyIsam and claimed it was proof that MySQL was a ‘toy database’.
But InnoDB arrived with transactions, row level locking, and better crash recovery than MyIsam. Many detractors of MySQL now started talking positively about it. In some cases the performance for some bench marks was behind MyIsam. Notice the use of ‘was‘. Now the InnoDB and server teams report to the same management and are going through all the code carefully to achieve better performance. Now the REDO log in its own table space, buffer pools can be pre-loaded at start up, and page sizes can be set to 4k, 7k or 16K to take advantage of new disks. Now the performance for most applications is much better with InnoDB than MyIsam. And as of MySQl 5.5, InnoDB is the default storage engine.
Now if the time for those who primarily use MyIsam to switch over to InnoDB. Oracle is poring manpower and money into MySQL to make it an better product. Much of that is focused on InnoDB.
‘But Dave! I do not need transactions, never need row locking, and do not worry about crashing’ I can hear some of you say. The majority of the new features are designed around InnoDB. Thread pooling, for an example, is going to greatly increase the transaction per seconds and transactions are InnoDB territory. Data compression allows InnoDB to read more off disk peer disk seek. The way of the future is with InnoDB.
MyIsam is not going away any time soon. All the account tables are MyIsam, for now. It is still a good database. But InnoDB is better.
But now is the time for you to move to InnoDB.