当前位置:网站首页>MySQL Architecture - logical architecture

MySQL Architecture - logical architecture

2022-07-04 22:38:00 swttws.

Catalog

One 、 Organize logical architecture

1、 adjoining course

 2、 Service layer

3、 Engine layer  

4、 Storage layer

Two 、 Inquire about SQL Execution cycle

 1、 Modify the configuration file , Turn on query cache

2、 Open the query execution plan

3、 Execute the same query statement twice

4、 Shows the most recently executed SQL sentence

5、 Inquire about 6,7 Implementation plan

3、 ... and 、 Query process


One 、 Organize logical architecture

MySQL Mainly reflected in the storage engine architecture , The plug-in storage engine architecture separates query processing from other system tasks and data storage and extraction . Here's the picture :

1、 adjoining course

 (1) Serve client connection , Contains the local socket Communication and most are client based / The implementation of server-side tools is similar to tcp/ip Communication for ;

 (2) It mainly completes connection processing , Authorized certification , Safety treatment ;

 (3) Introduce thread pool , Provide threads for secure authenticated clients ;

 (4) Also on this layer, we can implement the system based on SSL Security links for . The server will also verify the operation permissions it has for each client of secure access . 

 2、 Service layer

This layer architecture mainly completes most of the core service functions , Such as SQL Interface , And complete the cache query ,SQL Analysis and optimization of some built-in functions .

(1)Management Serveices & Utilities: System management and control tools  ;

(2)SQL interface : Accept users SQL command , And return the user query results ;

(3)Parser: Parser :SQL Command parsing and verification ;

(4) Optimizer: Query optimizer ;

(5) Cache and Buffer:  If the query cache has a hit query result , The query statement can directly query the cache to fetch data . The caching mechanism consists of a series of small caches . For example, table caching , Record the cache ,key cache , Authority cache, etc .

 

3、 Engine layer  

Storage engine layer , The storage engine is really responsible for MySQL The storage and extraction of data in , Server pass API Communicating with the storage engine . Different storage engines have different functions , So we can choose according to our actual needs .

4、 Storage layer

  Data storage layer , It mainly stores the data on the file system running on the bare device , And complete the interaction with the storage engine . 

Two 、 Inquire about SQL Execution cycle

 1、 Modify the configuration file , Turn on query cache

(1) Modify the configuration file /etc/my.cnf, Add a new line :query_cache_type=1

restart MySQL service

systemctl restart mysqld

2、 Open the query execution plan

show variables  like '%profiling%';

set profiling=1;

3、 Execute the same query statement twice

select * from mydb.mytbl where id=1 ; 

4、 Shows the most recently executed SQL sentence

show profiles; 

5、 Inquire about 6,7 Implementation plan

(1)6 Implementation plan of

show profile cpu,block io for query 6;

(2) Inquire about 7 Implementation plan of

 

show profile cpu,block io for query 7;

  You can find 7 The number executed is higher than 6 A lot less information , It shows that the query statement can get data from the cache ,SQL Statements must be consistent to cache hits , If the · database insert,update,delete, Cache will be invalidated

3、 ... and 、 Query process

1、mysql The client connects to the server , Send query statement , The server will check the cache first (query cache), If there is the same statement as the query statement in the cache , Direct return , Otherwise, parse the statement ;

2、 If a query result is already in the cache , The server will no longer parse the query 、 Optimize 、 And perform . It simply returns the results in the cache to the user , This will greatly improve the performance of the system ;

3、 Syntax parser and preprocessor : First mysql Pass the keyword will SQL Statement parsing , And make a corresponding one “ The parse tree ”;

4、mysql The parser will use mysql Syntax rules validate and parse queries ;

5、 The preprocessor is based on some mysql The rule further checks that the parse tree is legal , When the query optimizer when the parse tree is considered legal , And the optimizer converts it into an execution plan ;

6、 A query can be executed in many ways , All return the same result . The function of the optimizer is to find out The best execution plan .

7、 then ,mysql Default BTREE Indexes , And a general direction is : No matter how tossed sql, At least for the moment ,mysql Only one index in the table is used less .

原网站

版权声明
本文为[swttws.]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/185/202207042213035976.html