Oracle的SQL语句是如何工作的?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle的SQL语句是如何工作的?相关的知识,希望对你有一定的参考价值。
Oracle 是如何工作的?
- Select id,name 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 purge(truncate table t);
– SQL 解析
– 执行计划
– 执行SQL
? 收回对象占用的空间,产生一些undo和redo日志。
? 在Oracle字典表中删除的对象的相关信息(表,字段,各种属性….),产生一些Undo和redo日志。
以上是关于Oracle的SQL语句是如何工作的?的主要内容,如果未能解决你的问题,请参考以下文章
如何写sql语句去掉oracle返回结果中的空值(NULL)