search
HomeDatabaseMysql TutorialClassification of MySQL storage engines

Classification of MySQL storage engines

Aug 02, 2017 pm 05:02 PM
mysqlClassificationstorage

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.

Classification of MySQL storage engines

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.

Classification of MySQL storage engines

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.

Classification of MySQL storage engines

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".

Classification of MySQL storage engines

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.

Classification of MySQL storage engines

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!

Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
How to Grant Permissions to New MySQL UsersHow to Grant Permissions to New MySQL UsersMay 09, 2025 am 12:16 AM

TograntpermissionstonewMySQLusers,followthesesteps:1)AccessMySQLasauserwithsufficientprivileges,2)CreateanewuserwiththeCREATEUSERcommand,3)UsetheGRANTcommandtospecifypermissionslikeSELECT,INSERT,UPDATE,orALLPRIVILEGESonspecificdatabasesortables,and4)

How to Add Users in MySQL: A Step-by-Step GuideHow to Add Users in MySQL: A Step-by-Step GuideMay 09, 2025 am 12:14 AM

ToaddusersinMySQLeffectivelyandsecurely,followthesesteps:1)UsetheCREATEUSERstatementtoaddanewuser,specifyingthehostandastrongpassword.2)GrantnecessaryprivilegesusingtheGRANTstatement,adheringtotheprincipleofleastprivilege.3)Implementsecuritymeasuresl

MySQL: Adding a new user with complex permissionsMySQL: Adding a new user with complex permissionsMay 09, 2025 am 12:09 AM

ToaddanewuserwithcomplexpermissionsinMySQL,followthesesteps:1)CreatetheuserwithCREATEUSER'newuser'@'localhost'IDENTIFIEDBY'password';.2)Grantreadaccesstoalltablesin'mydatabase'withGRANTSELECTONmydatabase.TO'newuser'@'localhost';.3)Grantwriteaccessto'

MySQL: String Data Types and CollationsMySQL: String Data Types and CollationsMay 09, 2025 am 12:08 AM

The string data types in MySQL include CHAR, VARCHAR, BINARY, VARBINARY, BLOB, and TEXT. The collations determine the comparison and sorting of strings. 1.CHAR is suitable for fixed-length strings, VARCHAR is suitable for variable-length strings. 2.BINARY and VARBINARY are used for binary data, and BLOB and TEXT are used for large object data. 3. Sorting rules such as utf8mb4_unicode_ci ignores upper and lower case and is suitable for user names; utf8mb4_bin is case sensitive and is suitable for fields that require precise comparison.

MySQL: What length should I use for VARCHARs?MySQL: What length should I use for VARCHARs?May 09, 2025 am 12:06 AM

The best MySQLVARCHAR column length selection should be based on data analysis, consider future growth, evaluate performance impacts, and character set requirements. 1) Analyze the data to determine typical lengths; 2) Reserve future expansion space; 3) Pay attention to the impact of large lengths on performance; 4) Consider the impact of character sets on storage. Through these steps, the efficiency and scalability of the database can be optimized.

MySQL BLOB : are there any limits?MySQL BLOB : are there any limits?May 08, 2025 am 12:22 AM

MySQLBLOBshavelimits:TINYBLOB(255bytes),BLOB(65,535bytes),MEDIUMBLOB(16,777,215bytes),andLONGBLOB(4,294,967,295bytes).TouseBLOBseffectively:1)ConsiderperformanceimpactsandstorelargeBLOBsexternally;2)Managebackupsandreplicationcarefully;3)Usepathsinst

MySQL : What are the best tools to automate users creation?MySQL : What are the best tools to automate users creation?May 08, 2025 am 12:22 AM

The best tools and technologies for automating the creation of users in MySQL include: 1. MySQLWorkbench, suitable for small to medium-sized environments, easy to use but high resource consumption; 2. Ansible, suitable for multi-server environments, simple but steep learning curve; 3. Custom Python scripts, flexible but need to ensure script security; 4. Puppet and Chef, suitable for large-scale environments, complex but scalable. Scale, learning curve and integration needs should be considered when choosing.

MySQL: Can I search inside a blob?MySQL: Can I search inside a blob?May 08, 2025 am 12:20 AM

Yes,youcansearchinsideaBLOBinMySQLusingspecifictechniques.1)ConverttheBLOBtoaUTF-8stringwithCONVERTfunctionandsearchusingLIKE.2)ForcompressedBLOBs,useUNCOMPRESSbeforeconversion.3)Considerperformanceimpactsanddataencoding.4)Forcomplexdata,externalproc

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

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

Hot Tools

Dreamweaver Mac version

Dreamweaver Mac version

Visual web development tools

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Integrate Eclipse with SAP NetWeaver application server.

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

MantisBT

MantisBT

Mantis is an easy-to-deploy web-based defect tracking tool designed to aid in product defect tracking. It requires PHP, MySQL and a web server. Check out our demo and hosting services.

DVWA

DVWA

Damn Vulnerable Web App (DVWA) is a PHP/MySQL web application that is very vulnerable. Its main goals are to be an aid for security professionals to test their skills and tools in a legal environment, to help web developers better understand the process of securing web applications, and to help teachers/students teach/learn in a classroom environment Web application security. The goal of DVWA is to practice some of the most common web vulnerabilities through a simple and straightforward interface, with varying degrees of difficulty. Please note that this software