12.Oracle逻辑架构
2024/10/3大约 1 分钟
12.Oracle逻辑架构
12.1 SQL执行顺序
SQL执行顺序如下:- 语法检查:检查
SQL拼写是否正确 - 语义检查:检查
SQL中的访问对象是否存在 - 权限检查
- 共享池检查:共享池是一块内存池,用于存储语句的执行计划(通过
HASH实现快速查找),如果之前有执行过,就进行软解析,获取执行计划;如果之前没有执行过,就进行硬解析 - 优化器:优化器中就是要进行硬解析,也就是决定怎么做,比如创建解析树,生成执行计划
- 执行器:当有了解析树和执行计划之后,就知道该怎么被执行,这样就可以在执行器中执行语句了
用于是使用
HASH存储的,可以为需要频繁查询的结果绑定变量,比如select * from player where player_id = :player_id;,每次修改需要查询的player_id都能找到执行计划,但使用变量会导致执行效率变化,优化困难
Oracle执行流程 - 语法检查:检查
