SQL语法基础篇 —— 学会用数据库的方式思考SQL是如何执行的

Oracle中的SQL是如何执行的

SQL语法基础篇 —— 学会用数据库的方式思考SQL是如何执行的
SQL在Oracle中经历了几个步骤:

a.语法检查:检查SQL拼写是否正确,如果不正确,Oracle会报语法错误。

b.语义检查:检查SQL中的访问对象是否存在。

c.权限检查:看用户是否具备访问该数据的权限。

d.共享池检查:共享池是一块内存池,最主要的作用是缓存SQL语句和该语句的执行计划。

e.优化器:优化器中就是要进行硬解析,也就是决定怎么做,比如创建解析树,生成执行计划。

f.执行器:当有了解析树和执行计划之后,就知道了SQL该怎么被执行,这样就可以在执行器中执行语句了。

共享池是Oracle中的术语,包括了库缓存,数据字典缓冲区等。

MySQL中的SQL是如何执行的

MySQL是典型的C/S架构,即Clint/Server架构,服务器端使用的mysqld。
SQL语法基础篇 —— 学会用数据库的方式思考SQL是如何执行的
MySQL由三层组成:

1.连接层:客户端和服务端建立连接,客户端发送SQL至服务端;

2.SQL层:对SQL语句进行查询处理;

3.存储引擎层:与数据库文件打交道,负责数据的存储和读取。

SQL层的结构
SQL语法基础篇 —— 学会用数据库的方式思考SQL是如何执行的

小结

SQL语法基础篇 —— 学会用数据库的方式思考SQL是如何执行的