MySQL Database engine

Source: Internet
Author: User

InnoDB and MyISAM are the two most common table types used in MySQL, the basic difference being that the MyISAM type does not support advanced processing such as transaction processing, and InnoDB type support. However, the MyISAM type of table emphasizes performance, which is performed more quickly than the InnoDB type. In addition, binary data files of the MyISAM type can be migrated in different operating systems. That is, it can be copied directly from the Windows system to a Linux system. Different types of storage can be used depending on the data table.
InnoDB is the first engine on MySQL to provide foreign key constraints, in addition to providing transactional processing, InnoDB also supports row locks, providing consistent, non-lock reads like Oracle, which increases the number of concurrent read users and improves performance without increasing the number of locks.
InnoDB's design goal is to maximize performance when dealing with large volumes of data, and its CPU utilization is the most efficient of all other disk-based relational database engines.
InnoDB is a complete database system placed in the background of MySQL, InnoDB has its own buffer pool, can buffer the data and index, InnoDB also holds the data and index in the table space, may contain several files, this and MyISAM table is completely different, in MyISAM, The table is stored in a separate file, and the size of the InnoDB table is limited only by the size of the operating system file, typically 2GB.
InnoDB does not support indexes of type Fulltext. The LOAD table from master operation has no effect on InnoDB, and the workaround is to first change the InnoDB table to a MyISAM table, import the data and then change it to a InnoDB table, but not for tables that use additional InnoDB features, such as foreign keys. In addition, the row lock of the InnoDB table is not absolute, and if MySQL cannot determine the scope to scan when executing an SQL statement, the InnoDB table also locks the full table, such as the Update table set num=1 where name like "%aaa%".


When MySQL builds a table, if you do not specify a type for the database table, it defaults to the MyISAM database, and the database engine is the InnoDB type if you specify ENGINE=INNODB in the Build table statement.
in general, once the database engine is specified, the database engine will not change as long as the operation is correct, but the database engine will change if the following actions are not appropriate:
1, Force kill database,
2, database log and actual data inconsistent;

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.