Classification of MySQL storage engines
The previous chapters have explained how to use CRUD in MySQL. This chapter talks about some basic concepts, mainly to let everyone understand the classification of storage engines in MySQL database. What is a storage engine? It is how and how to better store the data locally so that the data can be checked and used at any time.
To learn MySQL, you can choose to install it and do it in practice.
1. In the file system, MySQL will save all the information in the database (schema) in the data directory.
Every time a database is created, it is actually equivalent to creating a directory. , and then create the corresponding file for the table corresponding to the database under the file in the directory. And the suffix is .frm,
One thing to note here is that in Windows, the path is not case-sensitive , but it is case-sensitive in unix and linux.
2. You can use SHOW TABLE STATUS LIKE 'acout'; to view the corresponding table information.
Briefly describe the corresponding description.
Name: Table name
Engine: Storage type of the table. In the old version, the name of the column was Type.
Rows: The number of rows in the table. It should be noted that the value of this data in the MyISAM engine is correct, but in InnoDB, this value is an estimate.
Data_length: The size of the table data (unit: words Section)
Auth_increment: The value of the next AUTH_INCREMENT.
Update_time: The last modification time of the table data
Comment: Other information description of the table, corresponding to different storage engines The data is different. MyISAM table saves the comments of the table when it was created. If it is an InnoDB table, it saves the remaining space information of the table space. If it is a view, the information is the text of VIEW.
Others I won’t describe them one by one, just use search engines. Haha.
3.InnoDB storage engine:
InnoDB is the default for MySQL The transaction engine is also the most important and most commonly used storage engine. It is mainly used to process a large number of short-lived transactions. In most cases, short-lived transactions are submitted normally and are rarely rolled back. Based on the characteristics of InnoDB , Unless there are other reasons, the InnoDB engine is generally used by default.
InnoDB data is stored in the tablespace (tablespace).
InnoDB uses MVCC to support high concurrency and implement There are four standard isolation levels. The default is: REPEATABLE READ.
Here is just a brief introduction to the types of storage engines. If you want to continue learning in depth, it is recommended to read the official manual. "InnoDB transaction model and locks".
4.MyISAM storage engine: In MySQL5.1 and previous versions, MyISAM is the default storage engine. MyISAM provides a large number of Features, including: full-text index, compression, spatial functions, etc. However, MyISAM does not support transaction and row-level locks, and has a relatively large flaw, that is, it cannot be safely restored after a crash. But if it is read-only data, or the table is relatively small , you can still continue to use this engine, but it is best to use the InnoDB storage engine by default. There are two files stored in MyISAM: data files and index files, with .MYD and .MYI as suffixes respectively. MyISAM features: locking and concurrency, repair , index characteristics. Locking is to lock the entire table, not to rows. When reading, all tables read are added to shared locks. When writing, exclusive locks are added to the table. MyISAM compresses the table, if the table data , there will be no modification operations after importing, so it is suitable to use MyISAM to compress the table.
5. Other storage engines, in addition to these two engines, there are other built-in engines and third parties The engine is just briefly mentioned here without introducing too many details.
Since there are so many engines, how should we choose?
In most cases, InnoDB It is definitely the right choice. So starting from MySQL 5.5, InnoDB is the default storage engine. As for the choice, it is a simple sentence. Unless you need to use features that non-InnoDB does not have, and there is no other way to replace it, all The InnoDB engine should be preferred.
Notes
To choose the appropriate storage engine to avoid some common problems. It is best to operate these during testing Carry out in an environment.
Learning requires accumulation and progress bit by bit. Don’t be greedy.
The above is the detailed content of Classification of MySQL storage engines. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics











The main role of MySQL in web applications is to store and manage data. 1.MySQL efficiently processes user information, product catalogs, transaction records and other data. 2. Through SQL query, developers can extract information from the database to generate dynamic content. 3.MySQL works based on the client-server model to ensure acceptable query speed.

Laravel is a PHP framework for easy building of web applications. It provides a range of powerful features including: Installation: Install the Laravel CLI globally with Composer and create applications in the project directory. Routing: Define the relationship between the URL and the handler in routes/web.php. View: Create a view in resources/views to render the application's interface. Database Integration: Provides out-of-the-box integration with databases such as MySQL and uses migration to create and modify tables. Model and Controller: The model represents the database entity and the controller processes HTTP requests.

MySQL and phpMyAdmin are powerful database management tools. 1) MySQL is used to create databases and tables, and to execute DML and SQL queries. 2) phpMyAdmin provides an intuitive interface for database management, table structure management, data operations and user permission management.

Compared with other programming languages, MySQL is mainly used to store and manage data, while other languages such as Python, Java, and C are used for logical processing and application development. MySQL is known for its high performance, scalability and cross-platform support, suitable for data management needs, while other languages have advantages in their respective fields such as data analytics, enterprise applications, and system programming.

I encountered a tricky problem when developing a small application: the need to quickly integrate a lightweight database operation library. After trying multiple libraries, I found that they either have too much functionality or are not very compatible. Eventually, I found minii/db, a simplified version based on Yii2 that solved my problem perfectly.

Article summary: This article provides detailed step-by-step instructions to guide readers on how to easily install the Laravel framework. Laravel is a powerful PHP framework that speeds up the development process of web applications. This tutorial covers the installation process from system requirements to configuring databases and setting up routing. By following these steps, readers can quickly and efficiently lay a solid foundation for their Laravel project.

The basic operations of MySQL include creating databases, tables, and using SQL to perform CRUD operations on data. 1. Create a database: CREATEDATABASEmy_first_db; 2. Create a table: CREATETABLEbooks(idINTAUTO_INCREMENTPRIMARYKEY, titleVARCHAR(100)NOTNULL, authorVARCHAR(100)NOTNULL, published_yearINT); 3. Insert data: INSERTINTObooks(title, author, published_year)VA

When developing an e-commerce website using Thelia, I encountered a tricky problem: MySQL mode is not set properly, causing some features to not function properly. After some exploration, I found a module called TheliaMySQLModesChecker, which is able to automatically fix the MySQL pattern required by Thelia, completely solving my troubles.
