L03 SQL是如何执行的
2021-10-21 13:23:00 7 举报
AI智能生成
SQL
作者其他创作
大纲/内容
Oracle中的SQL执行
流程:语法检查,语义检查,权限检查,共享池检查,优化器,执行器
共享池:Oracle中的术语,包括了库缓存(library cache),数据字典缓冲区等
软解析:在共享池中,首先对SQL语句进行Hash运算,然后根据Hash值在库缓存(library cache)中查找,如果存在SQL语句的执行计划,就直接拿来执行。也就是直接进入到执行器的环节。
硬解析:如果没有找到SQL语句和执行计划,就需要自己来创建解析树进行解析,生成执行计划。对应的是优化器这个步骤。
MySQL中的SQL执行
主要层次:连接层、SQL层、存储引擎层
连接层:客户端和server建立连接,客户端发送SQL至server。
SQL层:对SQL语句进行查询处理。
存储引擎层:负责数据的存储和读取,是与数据库文件打交道。
在SQL层中,会进行:解析器->优化器->执行器。8.0版本之前提供查询缓存,8.0版本之后不支持查询缓存
存储引擎:InnoDB、MyISAM、Memory、NDB、Archive等
数据库也是一种软件
从软件的思维了解执行的流程,比如通过MySQL profile来分析资源使用情况
不同的软件实现方式不同,但都有共性的地方,即:解析器->优化器->执行器
0 条评论
下一页