1. MySQL commonly used storage engines and features
1. InnoDB storage engine
After MySQL version 5.5, MySQL’s default built-in storage engine It is already InnoDB. Its main features are:
(1) Disaster recovery is relatively good;
(2) Supports transactions. The default transaction isolation level is repeatability, which is implemented through MVCC (Concurrent Version Control).
(3) The lock granularity used is row-level locking, which can support higher concurrency;
(4) Support foreign keys;
(5) Use some hot backup tools to support online hot backup;
(6) There is buffer management in InnoDB. Through the buffer pool, all indexes and data are cached to speed up the query;
(7) For InnoDB type tables, the physical organization form of the data is clustering. cluster table. All data is organized according to primary keys. The data and indexes are put together and are located on the leaf nodes of number B;
2. MyISAM storage engine
Before version 5.5, MyISAM was the default storage engine of MySQL. This storage engine has poor concurrency and cannot It supports transactions, so there are relatively few usage scenarios. Its main features are:
(1) Does not support transactions;
(2) Does not support foreign keys. If you forcibly add a foreign key, no error will be prompted, only foreign keys will be added. The key has no function;
(3) The query cache for data will only cache the index, not the data like InnoDB, and it uses the cache of the operating system itself;
(4) The default lock granularity is table level lock, so the concurrency is very poor, locking is fast, and there are fewer lock conflicts, so deadlocks are less likely to occur; Supported), but MySQL's full-text index is basically not used. For full-text index, there are other mature solutions, such as: ElasticSearch, Solr, Sphinx, etc.
(6) If the host where the database is located goes down, MyISAM data files are easily damaged and difficult to recover;
stores data in memory and uses Redis on the market. Memcached and others have similar ideas. In order to improve the speed of data access, the main features are:
(2) The supported lock granularity is table-level lock. Therefore, when the amount of access is relatively large, table-level locks will become the bottleneck of the MEMORY storage engine;
(3) Since the data is stored in memory, all data will be lost after the server is restarted;
(4 ) When querying, if a temporary table is used and there are BLOB and TEXT type fields in the temporary table, then the temporary table will be converted into a MyISAM type table, and the performance will decrease sharply;
The ARCHIVE storage engine is suitable for limited scenarios. Since it supports compression, it is mainly used for archiving logs, streaming and other data. Main features:
(2) Only supports SELECT and INSERT operations. The stored data can only be queried, not modified or deleted;
(3) Only supports auto-increment keys. Index, other indexes are not supported;
Data transfer trial, main features:
(2) It is more convenient to import and export. You can directly export the data in a table to csv and try to open it with Excel office software;
2. InnoDB has row-level locks and MyISAM has table-level locks, so InnoDB is more prone to deadlock than MyISAM. The probability of conflict is greater, and the cost of locking is also greater, because each row needs to be locked;
3. In terms of backup and disaster recovery, InnoDB supports online hot backup and has a very mature online hot backup solution;
4. In terms of query performance, the query efficiency of MyISAM is higher than that of InnoDB, because InnoDB needs to maintain the data cache during the query process, and the query process first locates the data block where the row is located, and then locates it in the data block. to the row to be searched; and MyISAM can directly locate the memory address where the data is located, and can directly find the data;
5. SELECT COUNT(*) statement, if the number of rows is more than tens of millions, MyISAM can quickly find out, InnoDB queries are particularly slow because MyISAM stores the number of rows separately, and InnoDB requires Zhu Xing to count the number of rows; so if you use InnoDB and need to query the number of rows, you need to perform special processing on the number of rows, such as: offline query And cache;
6. MyISAM’s table structure files include: .frm (table structure definition), .MYI (index), .MYD (data); while InnoDB’s table data files are: .ibd and .frm (table Structure definition);
2. Whether it is necessary to support high concurrency, InnoDB’s concurrency is much higher For MyISAM;
3. Whether it is necessary to support foreign keys;
4. Whether it is necessary to support online hot backup;
5. Efficient buffering of data. InnoDB buffers both data and indexes, while MyISAM only buffers Index;
6. Index, the indexes of different storage engines are not the same;
For more MySQL related technical articles, please visit the MySQL Tutorial column to learn!
The above is the detailed content of Detailed explanation of MySQL storage engine. For more information, please follow other related articles on the PHP Chinese website!

MySQL is suitable for beginners to learn database skills. 1. Install MySQL server and client tools. 2. Understand basic SQL queries, such as SELECT. 3. Master data operations: create tables, insert, update, and delete data. 4. Learn advanced skills: subquery and window functions. 5. Debugging and optimization: Check syntax, use indexes, avoid SELECT*, and use LIMIT.

MySQL efficiently manages structured data through table structure and SQL query, and implements inter-table relationships through foreign keys. 1. Define the data format and type when creating a table. 2. Use foreign keys to establish relationships between tables. 3. Improve performance through indexing and query optimization. 4. Regularly backup and monitor databases to ensure data security and performance optimization.

MySQL is an open source relational database management system that is widely used in Web development. Its key features include: 1. Supports multiple storage engines, such as InnoDB and MyISAM, suitable for different scenarios; 2. Provides master-slave replication functions to facilitate load balancing and data backup; 3. Improve query efficiency through query optimization and index use.

SQL is used to interact with MySQL database to realize data addition, deletion, modification, inspection and database design. 1) SQL performs data operations through SELECT, INSERT, UPDATE, DELETE statements; 2) Use CREATE, ALTER, DROP statements for database design and management; 3) Complex queries and data analysis are implemented through SQL to improve business decision-making efficiency.

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

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.

The steps to build a MySQL database include: 1. Create a database and table, 2. Insert data, and 3. Conduct queries. First, use the CREATEDATABASE and CREATETABLE statements to create the database and table, then use the INSERTINTO statement to insert the data, and finally use the SELECT statement to query the data.

MySQL is suitable for beginners because it is easy to use and powerful. 1.MySQL is a relational database, and uses SQL for CRUD operations. 2. It is simple to install and requires the root user password to be configured. 3. Use INSERT, UPDATE, DELETE, and SELECT to perform data operations. 4. ORDERBY, WHERE and JOIN can be used for complex queries. 5. Debugging requires checking the syntax and use EXPLAIN to analyze the query. 6. Optimization suggestions include using indexes, choosing the right data type and good programming habits.


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

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

PhpStorm Mac version
The latest (2018.2.1) professional PHP integrated development tool

SublimeText3 Linux new version
SublimeText3 Linux latest version

VSCode Windows 64-bit Download
A free and powerful IDE editor launched by Microsoft

ZendStudio 13.5.1 Mac
Powerful PHP integrated development environment

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