当前位置:网站首页>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 .
边栏推荐
- 10 schemes to ensure interface data security
- 共创软硬件协同生态:Graphcore IPU与百度飞桨的“联合提交”亮相MLPerf
- 好用app推荐:扫描二维码、扫描条形码并查看历史
- Taobao commodity review API interface (item_review get Taobao commodity review API interface), tmall commodity review API interface
- Flask 上下文详解
- 攻防世界 MISC 進階區 Erik-Baleog-and-Olaf
- MYSQL架构——逻辑架构
- 串口数据帧
- Shell 脚本实现应用服务日志入库 Mysql
- Recommendation of mobile app for making barcode
猜你喜欢

2022-07-04:以下go语言代码输出什么?A:true;B:false;C:编译错误。 package main import “fmt“ func main() { fmt.Pri

Logo special training camp Section V font structure and common design techniques

都说软件测试很简单有手就行,但为何仍有这么多劝退的?

Unity修仙手游 | lua动态滑动功能(3种源码具体实现)

Google Earth Engine(GEE)——Tasks升级,实现RUN ALL可以一键下载任务类型中的所有影像

How to transfer to software testing, one of the high paying jobs in the Internet? (software testing learning roadmap attached)

Scala download and configuration

Introduction and application of bigfilter global transaction anti duplication component

The Sandbox 和数字好莱坞达成合作,通过人力资源开发加速创作者经济的发展

攻防世界 MISC 高手进阶区 001 normal_png
随机推荐
都说软件测试很简单有手就行,但为何仍有这么多劝退的?
Close system call analysis - Performance Optimization
La prospérité est épuisée, les choses sont bonnes et mauvaises: Où puis - je aller pour un chef de station personnel?
Flask 上下文详解
LOGO特训营 第三节 首字母创意手法
Force buckle 3_ 383. Ransom letter
md5工具类
MYSQL架构——逻辑架构
LOGO特训营 第一节 鉴别Logo与Logo设计思路
Domestic database chaos
模拟摇杆控制舵机
蓝队攻防演练中的三段作战
LOGO special training camp section I identification logo and Logo Design Ideas
Practice and principle of PostgreSQL join
Jvm-Sandbox-Repeater的部署
[Yugong series] go teaching course 003-ide installation and basic use in July 2022
Shell 脚本实现应用服务日志入库 Mysql
sobel过滤器
Li Kou 98: verify binary search tree
It is said that software testing is very simple, but why are there so many dissuasions?






