Changes

MySQL Engines MyISAM and Innodb

1,375 bytes added, 03:38, 22 January 2014
The following lines were added (+) and removed (-):
It table access is mostly read only.== Advantages to MyISAM ==Reads can be faster on MyISAM vs Innodb despite what the general claims on the above two links when MyISAM table has fixed (not dynamic) row size i.e. when it uses more CHARs for example versus VARCHARs.  Innodb must perform additional checks owing to its ACID (Atomicity, Consistency, Isolation, Durability) compliant nature, so for example a FK check needs to be checked which could potentially cause an operational overhead. A MyISAM table that is using FULL TEXT Indexing can not be converted to an Innodb Table Engine type.== Advantages to InnoDB ==If you need ACID compliance and need your db to be transactional then choosing Innodb is an obvious choice.  If table access is a relatively even mix of reads (not requiring full text indexing) and writes then InnoDB is recommended.  MyISAM tables should be converted to Innodb when frequent table lock escalations for long periods of time occur.  If a read is slow or hasn't completed and a read/write is waiting on the first read to finish then the MyISAM table referenced in the read is held in a locked state till the result set is made available to the query. This also causes a rise in the load average on the server and slows the site down. During this time no reads or writes can complete of course as MyISAM only has table-level locking.
Bureaucrat, administrator
16,192
edits