分析MySQL执行过程

Mysql传统关系型数据库

概念

关系型数据库的⼀个常⻅⽤法是存储⻓期的报告数据,并将这些报告数据⽤作固定时间范围 内的聚合数据。收集聚合数据的常⻅做法是:先将各个⾏插⼊到⼀个报告表⾥⾯, 之后再通 过扫描这些⾏来收集聚合数据, 并更新聚合表中⺒有的那些⾏。

图解刨析MySQL的执行过程

1.客户端/服务器发送TCP通信协议

2.SQL查询判断是否有缓存(多次查询相同结果Mysql也具有缓存)如果有缓存直接返回结果不走3.4.5步

3.缓存不存在解析SQL,通过解析器得到解析树,再进行预处理再得到新的解析树 查询前explain可得到解析树

4.该解析树是否可以得到优化(查询优化器)

5.生成执行计划>查询执行引擎>存储引擎>从磁盘里拿数据(索引是最后触发的,建立索引会增大内存表的空间)
具体的大小Mysql也没有给出官方的答案,大概是四分之一吧。没有索引就要进行全表扫描
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/q736317048/article/details/113729080
今日推荐