ORACLE数据库SQL语句的执行过程

1.检查共享池中是否有之前解析相同的sql语句后所存储的sql文本、解析树和执行计划。

如果能从共享池的缓存库中找到之前解析过生成的执行计划,则sql语句则不需要再次解析,便可以直接由库缓存得到之前所产生的执行计划,从而直接跳到绑定或执行阶段,这种解析称作软解析。 但是如果在共享池的库缓存中找不到对应的执行计划,则必须继续解析sql生成执行计划,这种解析称作硬解析

2.语法分析,分析sql语句的语法是否符合规范,衡量语句中各表达式的意义

3.检查是否存在语义错误和权限。语义分析,检查语句中设计的所有数据库对象是否存在,且用户有相应的权限。

4.视图转换和表达式转换 将涉及视图的查询语句转换为相应的对基表查询语句。将复杂表达式转化较为简单的等效连接表达式。

5.决定最佳执行计划。优化器会生成多个执行计划,在按统计信息带入,找出执行成本最小的执行计划,作为执行此sql语句的执行计划

6.将sql文本、解析树、执行计划缓存到库缓存,存放地址以及sql语句的哈希值。

原文地址:https://blog.51cto.com/u_15338523/3592593

相关文章

Java Oracle 结果集是Java语言中处理数据库查询结果的一种方...
Java AES和Oracle AES是现代加密技术中最常使用的两种AES加密...
Java是一种广泛应用的编程语言,具备可靠性、安全性、跨平台...
随着移动互联网的发展,抽奖活动成为了营销活动中不可或缺的...
Java和Oracle都是在计算机领域应用非常广泛的技术,他们经常...
Java 是一门非常流行的编程语言,它可以运行于各种操作系统上...