首页 > 代码库 > Oracle的SQL语句是如何工作的?

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语句是如何工作的?