Mysql--> Base-->002-->mysql Storage Engine

Source: Internet
Author: User

MySQL's storage engine mainly includes: MyISAM and InnoDB

The main differences between MyISAM and InnoDB: InnoDB supports transactional and referential integrity (that is, primary key constraints, and the database must be consistent with the key and foreign key types)

It is important that the storage engine is for the table and not for the database! We can choose different storage engines according to different tables, such as MySQL data, the default MySQL table, the storage engine is Myisan

A passage on the StackOverflow:

The main differences between InnoDB and MyISAM ("With respect to designing a table or database" you asked about) is Suppo RT for "Referential integrity" and "transactions".

If You need the database to enforce foreign key constraints, or do need the database to support transactions (i.e. changes made by) or more DML operations handled as single unit of work, with all of the changes either applied, O R all the changes reverted) then you would choose the InnoDB engine, since these features is absent from the MyISAM Engin E.

Those is the biggest differences. Another big difference is concurrency. With MyISAM, a DML statement would obtain an exclusive lock on the table, and while that lock are held, no other session can Perform a SELECT or a DML operation on the table.

Another big difference is concurrency. Using the MYISAM,DML statement will obtain an exclusive lock on the table, and no other session can perform a select or DML operation on the table when the lock is persisted.

Those specific engines you asked about (InnoDB and MyISAM) has different design goals. MySQL also has the other storage engines, with their own design goals. (each storage engine has its own design goals, according to the actual situation to choose the appropriate storage engine)

So, in choosing between InnoDB and MyISAM, the first step are in determining if you need the features provided by InnoDB. If not, then MyISAM was up for consideration.

A more detailed discussion of differences was rather impractical (in this forum) absent a more detailed discussion of the P Roblem space ... how the application would use the database, how many tables, size of the tables, the transaction load, Volu Mes of SELECT, insert, updates, concurrency requirements, replication features, etc.

The logical design of the database should is centered around data analysis and user requirements; The choice to use a relational database would come later, and even later would the the choice of MySQL as a relational dat Abase management system, and then the selection of a storage engine for each table.

Reference Links:

https://support.rackspace.com/how-to/mysql-engines-myisam-vs-innodb/

Mysql--> Base-->002-->mysql Storage Engine

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.