What are the main differences between all mysql engines?

I want to make a summary of the main differences between all Mysql engines and, of course, the most popular.

And what criteria should I use to determine which engine to use?

+7
mysql
source share
3 answers

They are very well described here:

http://dev.mysql.com/doc/refman/5.0/en/storage-engines.html

Use InnoDB if in doubt. It is versatile and works well.

+8
source share

As Lars D says, this is very well described here:

http://dev.mysql.com/doc/refman/5.0/en/storage-engines.html

This data is taken from the link above, which may help you a little ...

*************************** 1. row *************************** Engine: MyISAM Support: DEFAULT Comment: Default engine as of MySQL 3.23 with great performance *************************** 2. row *************************** Engine: MEMORY Support: YES Comment: Hash based, stored in memory, useful for temporary tables *************************** 3. row *************************** Engine: HEAP Support: YES Comment: Alias for MEMORY *************************** 4. row *************************** Engine: MERGE Support: YES Comment: Collection of identical MyISAM tables *************************** 5. row *************************** Engine: MRG_MYISAM Support: YES Comment: Alias for MERGE *************************** 6. row *************************** Engine: ISAM Support: NO Comment: Obsolete storage engine, now replaced by MyISAM *************************** 7. row *************************** Engine: MRG_ISAM Support: NO Comment: Obsolete storage engine, now replaced by MERGE *************************** 8. row *************************** Engine: InnoDB Support: YES Comment: Supports transactions, row-level locking, and foreign keys *************************** 9. row *************************** Engine: INNOBASE Support: YES Comment: Alias for INNODB *************************** 10. row *************************** Engine: BDB Support: YES Comment: Supports transactions and page-level locking *************************** 11. row *************************** Engine: BERKELEYDB Support: YES Comment: Alias for BDB *************************** 12. row *************************** Engine: NDBCLUSTER Support: NO Comment: Clustered, fault-tolerant, memory-based tables *************************** 13. row *************************** Engine: NDB Support: NO Comment: Alias for NDBCLUSTER *************************** 14. row *************************** Engine: EXAMPLE Support: NO Comment: Example storage engine *************************** 15. row *************************** Engine: ARCHIVE Support: YES Comment: Archive storage engine *************************** 16. row *************************** Engine: CSV Support: NO Comment: CSV storage engine *************************** 17. row *************************** Engine: FEDERATED Support: YES Comment: Federated MySQL storage engine *************************** 18. row *************************** Engine: BLACKHOLE Support: YES Comment: /dev/null storage engine (anything you write to it disappears) 
+3
source share

You should take a look at the manual, as Lars and Phil said.

Although, I could tell you briefly, the differences between the primary processing mechanisms (MyISAM and innoDB) are in transaction support, supporting key support, the lock level (MyISAM locks the entire table, innoDB has row-level locking) and MVCC, There are too many differences between them. I recommend you take a look at: Pro MySQL Apress 2005.

- Santiago Basulto.

+1
source share

All Articles