MySQL has many engines,MyISAM, InnoDB, MERGE, MEMORY (HEAP), BDB (BerkeleyDB), EXAMPLE, Federated... Wait a minute
More commonly, InnoDB and MyISAM.
. MyISAM does not support transactions, INNODB support, MyISAM does not have atomicity, and if you need to support transactions, you can only choose InnoDB
. MyISAM only supports table-level locks, InnoDB supports row-level, page-level, table-level locks,
. InnoDB (Index Organization table) uses clustered index, index is data, stored sequentially, so can cache index, also can cache data, MyISAM (Heap organization table) uses non-clustered index, index and file separate, random storage, only cache index.
. The INNODB calculates the total number of bars that need to be scanned, while MyISAM is stored, and MyISAM needs to rescan the table if there is a where condition
. MyISAM read-write blocking, InnoDB based on transaction isolation level
Summary: MyISAM is suitable for reading and writing less, not atomic, simple, and innodb suitable for writing and reading less, support transactions, high concurrency;
However, after 5.1, InnoDB was set by MySQL as the default engine, in the reading and writing efficiency also has a great increase, no worse than MyISAM, of course, specific scenarios specific analysis.
Talking about MySQL engine