当前位置:网站首页>MySQL SQL的完整处理流程
MySQL SQL的完整处理流程
2022-07-07 02:39:00 【菜鸟~~】
mysql client和 mysql server进行通信的时候,如果走完所有的MySQL Server模块,需要依次经过连接器、解析器、优化器、执行器、存储引擎,如下图所示:
- 连接器:使用TCP加密的ssl通信协议,管理连接,控制最大连接量,检测连接时长,权限验证(账号密码等),优先查询缓存(两次同样的select之间有更新操作,查询缓存会清空)
- 解析器:和编译器的角色一样,要生成语法树,解析SQL词法以及语法分析
- 优化器:生成SQL的执行计划以及当前SQL相应的索引的选择(explain可查看)
- 执行器:调用存储引擎相应的API接口进行数据的读写操作
- 存储引擎:花费磁盘I/O读写磁盘数据,构建B+树索引,事务日志(undo log/redo log),锁机制,隔离级别…
class BaseEngine{
}
class MyISAM : public BaseEngine{
}
class InnoDB : public BaseEngine{
}
如果单纯的一次通信,客户端得到这一次通信的结果后会主动关闭连接,MySQL Server这边由连接器负责关闭这个连接,回收这个连接的资源。
边栏推荐
- Install mongodb database
- 大促过后,销量与流量兼具,是否真的高枕无忧?
- ceres-solver和g2o性能比较
- 哈趣投影黑馬之姿,僅用半年强勢突圍千元投影儀市場!
- Stack and queue-p79-9
- Jetpack Compose 远不止是一个UI框架这么简单~
- Crudini profile editing tool
- 多个kubernetes集群如何实现共享同一个存储
- 2022 Android interview essential knowledge points, a comprehensive summary
- The difference between string constants and string objects when allocating memory
猜你喜欢
拼多多败诉:“砍价免费拿”侵犯知情权但不构成欺诈,被判赔400元
JESD204B时钟网络
健身房如何提高竞争力?
MATLAB小技巧(30)非线性拟合 lsqcurefit
请问如何查一篇外文文献的DOI号?
Learning notes | data Xiaobai uses dataease to make a large data screen
Doctoral application | Professor Hong Liang, Academy of natural sciences, Shanghai Jiaotong University, enrolls doctoral students in deep learning
ICML 2022 | explore the best architecture and training method of language model
JWT的基础介绍
Force deduction 62 different paths (the number of all paths from the upper left to the lower right of the matrix) (dynamic planning)
随机推荐
Apache ab 压力测试
js装饰器@decorator学习笔记
2022 Android interview essential knowledge points, a comprehensive summary
Handling hardfault in RT thread
mysql查看bin log 并恢复数据
Doctoral application | Professor Hong Liang, Academy of natural sciences, Shanghai Jiaotong University, enrolls doctoral students in deep learning
FPGA课程:JESD204B的应用场景(干货分享)
快速定量,Abbkine 蛋白质定量试剂盒BCA法来了!
Can't you really do it when you are 35 years old?
Crudini profile editing tool
Postgresql源码(60)事务系统总结
软件测试到了35岁,真的就干不动了吗?
Networkx绘图和常用库函数坐标绘图
循环肿瘤细胞——Abnova 解决方案来啦
Redis (II) - redis General Command
企业如何进行数据治理?分享数据治理4个方面的经验总结
How to solve sqlstate[hy000]: General error: 1364 field 'xxxxx' doesn't have a default value error
剑指offer-高质量的代码
程序员的日常 | 每日趣闻
unity3d学习笔记