- Simple expression.
- MyISAM is a non-transactional storage engine.
- InnoDB is a storage engine that supports transactions.
- The InnoDB engine is more suitable for applications with more insert and update operations
- The MyISAM is suitable for applications with frequent queries
- MyISAM --table lock.
- InnoDB--a reasonable design is a row lock.
- MyISAM does not appear deadlocked.
- The biggest difference is that MyISAM is suitable for small data, small concurrency, INNODB suitable for big data, large concurrency. The biggest difference is the level of the lock.
- MyISAM types do not support advanced processing such as transaction processing, and InnoDB type support. The MyISAM type of table emphasizes performance, which is performed more quickly than the InnoDB type, but does not provide transactional support, while InnoDB provides transactional support for advanced database functions such as external keys. In summary, it is possible to use different storage types depending on the data table. and MyISAM is file storage, can be used directly between the different operating system copies.
- InnoDB:
- InnoDB provides MySQL with a transactional (Commit), rollback (Rollback) and crash-repair capability (crash recovery capabilities), transaction security (Transaction-safe (ACID compliant)) type table. InnoDB provides a row lock (lockingon row level ), providing non-lock reads consistent with Oracle type (non-locking read in selects). These features improve the performance of multi-user concurrency operations. There is no need to widen the lock (lock escalation) in the InnoDB table because the InnoDB column lock (row level locks) is suitable for very small space. InnoDB is the first table engine on MySQL to provide a foreign key constraint (FOREIGN key constraints). InnoDB's design goal is to handle a large-capacity database system, which is not comparable to other disk-based relational database engines. Technically, InnoDB is a complete database system placed in the background of MySQL, InnoDB in the main memory to establish its dedicated buffer pool for caching data and indexes. InnoDB the data and index in the table space, may contain multiple files, which is different from other, for example, in MyISAM, the table is stored in a separate file. The size of the InnoDB table is limited only by the size of the operating system file, typically 2 GB. InnoDB All tables are stored in the same data file Ibdata1 (also possibly multiple files, or stand-alone tablespace files), relatively poorly backed up, can copy files or use navicat for MySQL.
- MyISAM
- Each MyISAM table is stored in three files: the frm file is stored in a tabular definition. The data file is MyD (MYData). The index file is an myi (myindex) extension.
- Because MyISAM is relatively simple, it is better to be efficient than InnoDB, and small applications using MyISAM are a good choice.
- MyISAM tables are saved as files, and using MyISAM storage in cross-platform data transfer saves a lot of hassle
The difference between Mysql's storage engine, MyISAM and InnoDB.