MySQL Storage engine features comparison

Source: Internet
Author: User
Tags one table table definition

The following table shows the characteristics of the various storage engines:

Two of the most common storage engines are MyISAM and InnoDB

When I first approached MySQL, it might be a little surprised to have a storage engine that doesn't support transactions, and everyone who learns relational database theory knows that transactions are the core of relational databases. But in real-world applications (especially the Internet), in order to improve performance, the transaction can be discarded in some scenarios. The following describes the various storage engines:

MyISAM Storage Engine MyISAM is the default storage engine provided by MySQL, which is characterized by not supporting transactions, table locks, and full-text indexing, and for some OLAP systems, the operation is fast. Each myisam is stored as three files on disk. The file name is the same as the table name, and the extension is. frm (store table definition), respectively. MYD (MYData, storing data),. MYI (myindex, storage index). In particular, it is important to note that MyISAM does not cache data files and caches only index files. Back to top InnoDB storage engine

The InnoDB storage engine supports transactions, primarily for OLTP applications, characterized by row lock settings, support for foreign keys, and support for non-locking reads similar to that of Oracle, where the read does not generate locks by default. InnoDB puts the data in a logical tablespace (similar to Oracle). InnoDB achieves high concurrency with multiple versions of concurrency control, implements 4 isolation levels for ANSI standards, defaults to repeatable, and avoids phantom reads with a strategy called Next-key locking.

For storage of data in tables, InnoDB is stored in a way similar to the Oracle Index organization table clustered.

The InnoDB storage Engine provides transactional security with commit, rollback, and crash resiliency. However, compared to the MyISAM storage engine, InnoDB writes are less efficient and consume more disk space to preserve data and cable
Cited.

Back to top NDB storage engine

The NDB storage engine is a clustered storage engine similar to Oracle's RAC, but it is the share nothing architecture and therefore provides a higher level of high availability and scalability. NDB is characterized by the fact that the data is all in memory, so it is very fast to find it through the primary key.

With regard to NDB, there is a problem to note that its connection (join) operation is done at the MySQL database layer, not at the storage engine level, which means that complex join operations require significant network overhead and query speed is slow.

Back to the top memory (HEAP) storage engine

The Memory storage engine (formerly called the heap) stores data in the table and, if the database restarts or crashes, data is lost, making it ideal for storing temporary data.

Back to top archive storage engine

As its name implies, archive is ideal for storing archived data, such as log information. It supports only insert and select operations and is designed primarily to provide high-speed insertion and compression capabilities.

Back to top federated storage engine

The federated storage Engine does not hold data, it points to at least one table on a remote MySQL database server, very similar to the transparent gateway of Oracle.

Back to the top Maria storage engine

The Maria storage Engine is a newly developed engine designed to replace the original MyISAM storage engine and become the default storage engine for MySQL.

Last but not least, although MySQL has a lot of storage engines, there is no good or bad relationship between them, but rather a choice of storage engines for their business based on different applications. If you are strong enough, you can also modify or develop the storage engine, this is not the charm of open source?

This article transferred from: http://www.open-open.com/lib/view/open1370959041320.html

MySQL Storage engine features comparison

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.