当前位置:网站首页>MySQL Architecture - logical architecture
MySQL Architecture - logical architecture
2022-07-04 22:38:00 【swttws.】
Catalog
One 、 Organize logical architecture
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
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 .
边栏推荐
- Microservices -- Opening
- 特征缩放 标准化 归一化
- Flask 上下文详解
- PHP short video source code, thumb animation will float when you like it
- 关于栈区、堆区、全局区、文字常量区、程序代码区
- With this PDF, we finally got offers from eight major manufacturers, including Alibaba, bytek and Baidu
- The sandbox has reached a cooperation with digital Hollywood to accelerate the economic development of creators through human resource development
- Locust性能测试 —— 环境搭建及使用
- Energy momentum: how to achieve carbon neutralization in the power industry?
- 环境加密技术解析
猜你喜欢
Wake up day, how do I step by step towards the road of software testing
LOGO特训营 第一节 鉴别Logo与Logo设计思路
Naacl-22 | introduce the setting of migration learning on the prompt based text generation task
串口数据帧
Introducing QA into the software development lifecycle is the best practice that engineers should follow
Energy momentum: how to achieve carbon neutralization in the power industry?
攻防世界 MISC 进阶区 Erik-Baleog-and-Olaf
2022-07-04:以下go语言代码输出什么?A:true;B:false;C:编译错误。 package main import “fmt“ func main() { fmt.Pri
达梦数据凭什么被称为国产数据库“第一股”?
共创软硬件协同生态:Graphcore IPU与百度飞桨的“联合提交”亮相MLPerf
随机推荐
Shell script implements application service log warehousing MySQL
PostgreSQL JOIN实践及原理
Easy to use app recommendation: scan QR code, scan barcode and view history
攻防世界 MISC 进阶 glance-50
MYSQL架构——用户权限与管理
模拟摇杆控制舵机
High school physics: linear motion
How diff are the contents of the same configuration item in different environments?
[Yugong series] go teaching course 003-ide installation and basic use in July 2022
php短视频源码,点赞时会有大拇指动画飘起
我在linux里面 通过调用odspcmd 查询数据库信息 怎么静默输出 就是只输出值 不要这个
How can the advertising system of large factories be upgraded without the presence of large models
好用app推荐:扫描二维码、扫描条形码并查看历史
LOGO特訓營 第一節 鑒別Logo與Logo設計思路
Common open source codeless testing tools
LOGO特训营 第五节 字体结构与设计常用技法
环境加密技术解析
Energy momentum: how to achieve carbon neutralization in the power industry?
PostgreSQLSQL高级技巧透视表
Now MySQL cdc2.1 is parsing the datetime class with a value of 0000-00-00 00:00:00