当前位置:网站首页>MySQL storage engine

MySQL storage engine

2022-07-06 00:22:00 Constantly improving Nan

1. What is a database storage engine ?

Database engine : It's for storage 、 Core services that process and protect data . With the database engine, you can control access and process transactions quickly , This meets the requirements of most applications within the enterprise that need to process large amounts of data .

2. The default storage engine is InnoDB

1. utilize show create table Table name sql Statement to see what the default storage engine is
 Insert picture description here

3. Look at the storage engine for the database

sql sentence :show engines;
 Insert picture description here

4. Create tables and develop storage engines for tables

1. Create a data table and set the table storage engine as MyISAM;

 Insert picture description here
2. Create a data table and set the table storage engine as Memory;
 Insert picture description here

5.InnoDB Storage engine

1.InnoDB What is it? ?

InnoDB It's a kind of balance High reliability and High performance universal storage engine .

2.InnoDB What are the characteristics of ?

1.DML( Data operation language : Additions and deletions ) Operation follows ACID( Four characteristics of transaction : Atomicity 、 Uniformity 、 Isolation, 、 persistence ) Model , Support transactions ;
2. Row-level locks , Improve concurrent access performance ;
3. Support foreign keys foreign key constraint , Ensure the integrity and correctness of data .
4. Support crash repair and auto increment .

3.InnoDB Analysis of advantages and disadvantages :

InnoDB The advantage of is to support transactions 、 Support foreign keys 、 Support crash repair and auto increment . adopt InnoDB To control transaction commit and rollback , So as to ensure the integrity of the business .
InnoDB The disadvantage of is the low efficiency of reading and writing , It takes up a lot of data space .

6. Database table level lock and row level lock

1.MySQL Lock mechanism of database : Different storage engines support different locking mechanisms .

MyISAM and MEMORY The storage engine uses table level locks .
InnoDB The storage engine supports row level locking , Table level locks are also supported , Row level lock is adopted by default .

2.MySQL Two main lock features :

Table lock : Lock the whole table every time , Low overhead , Locked fast , A deadlock will not occur , The probability of lock conflict is high , Low concurrency ;
Row-level locks : Lock a row of data each time , Spending big , Lock the slow , A deadlock occurs , The probability of lock conflict is low , High concurrency .

7.MyISAM

1.MyISAM Is early MySQL Early default storage engine .

characteristic :1. Unsupported transaction , Foreign key not supported ;
2. Support table lock , Row locks are not supported ;
3. Fast access
characteristic :
xxx.sdi: Store table structure information ;
xxx.MYD: Store the data ;
xxx.MYI: Storage index .

2.MyISAM Analysis of advantages and disadvantages :

MyISAM The engine saves a separate index file .myi, And its index is directly located to OFFSET Of , and InnoDB There is no separate physical index to store files ,InnoDB Index addressing is to locate the block data first , Then navigate to the row data , therefore ,MyISAM The query efficiency is better than InnoDB The query efficiency is high , But it doesn't support transactions , Foreign key not supported , The applicable scenario is to read more and write less , Business scenarios that do not require high integrity .

8.Memory

1.Memory The definition of

Memory: Memory database engine , All data is stored in memory , Reading and writing are very efficient , however MySQL After the service is restarted , Data will be lost , It does not support transactions 、 Foreign keys ,memory Support hash Index or B Tree index ,hash It's based on the index key Of the query , High query efficiency , The efficiency of range based query is relatively low .InnoDB and MyISAM Is based on B+ The data structure of the tree is realized .

2.Memory Analysis of advantages and disadvantages

Memory High reading and writing ability , however MySQL After reboot , Data will be lost , Foreign keys and transactions are not supported .
Applicable scenario : High reading and writing efficiency , Business scenarios that are not sensitive to data loss .

原网站

版权声明
本文为[Constantly improving Nan]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/187/202207060016123666.html