Oracle的SQL语句是如何工作的?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle的SQL语句是如何工作的?相关的知识,希望对你有一定的参考价值。

Oracle 是如何工作的?

 

  • Select idname from t order by id ;

– SQL 解析(查看语法是否错误,如果没有错误,分析语意,执行此语句的权限)

– 执行计划ORACLE如何访问数据,按照执行计划取数据)

– 执行SQL

? 从磁盘中读取数据(如果数据在内存中没有,就去磁盘读取)

? 数据处理(数据读到内存后,就进行处理。排序,组合等处理)

? 返回结果(把结果返回给用户)

 

 

  • Insert into t values(1,‘tigerfish’);

– SQL 解析

– 执行计划

– 执行SQL

? 从磁盘中读取数据块(如果内存中没有)

? 修改回滚段数据块(同时产生redo log)----Oracle特性(将数据修改前的数据放到回滚数据块)

? 修改原始数据块(同时产生redo log

 

  • Create table t values(id int,name varchar2(10);

– SQL 解析

– 执行计划

– 执行SQL

? 给对象分配初始化的存储空间(段),产生一些undo和redo日志。

? 在Oracle字典表中创建新的对象相关信息(表,字段,各种属性….),产生一些Undo和redo日志。

 

  • Drop table t purgetruncate table t);

– SQL 解析

– 执行计划

– 执行SQL

? 收回对象占用的空间,产生一些undo和redo日志。

? 在Oracle字典表删除的对象的相关信息(表,字段,各种属性….),产生一些Undo和redo日志。

以上是关于Oracle的SQL语句是如何工作的?的主要内容,如果未能解决你的问题,请参考以下文章

如何写sql语句去掉oracle返回结果中的空值(NULL)

经典案例:如何优化Oracle使用DBlink的SQL语句

Oracle PL/SQL 如何输出在 FORALL 语句中进行了多少次插入

oracle用sql 语句如何向表中插入时间?

如何在Oracle中一次执行多条sql语句

如何查看oracle服务器上正在执行的SQL语句