Is it a good practice to set up a database with some InnoDB and some MyISAM tables depending on their use? I would set InnoDB only for those involved in transactions and MyISAM for everything else. Does this have some kind of negative effect or anything to avoid this solution?
Use InnoDB for all tables, unless you can prove a compelling performance advantage for using MyISAM, or you need MyISAM's FULLTEXT or GIS indexes.
InnoDB is the default storage engine in MySQL 5.5 and later. InnoDB is crash-safe, and it is being developed actively. And it has better performance than MyISAM in most cases.
MyISAM gets corrupted easily during a crash. It does not save data to disk synchronously (relies on filesystem buffering). It has only table-level locking. It is receiving no development or enhancement, and it's on its way to becoming deprecated.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With