www.Orasql.Com
 
用户名: 密码:  验证码: 注册|找回密码 oracleawen's blog  
 
         当前位置 >> 技术论坛  发表帖子     论坛版块     查找帖子
Oracle 执行SQL查询语句的步骤-技术论坛||Oracle高手之路—Orasql.Com!
            Oracle 执行SQL查询语句的步骤
 
发贴人:oracle_awen
oracleawen@gmail.com448315233127.0.0.1
用户级别:管理员
发贴总数:1245
注册时间:2011-05-05 09:23:03
2011-05-26 23:58:39
如果用户在SQL*PLUS下输入了如下的查询语句:select * from dept;,那么Oracle又是如何来处理这个语句的呢? SQL语句的执行主要由用户进程与服务器进程来完成,其他的一些进程可能要辅助完成这一过程,查询语句与其他的SQL语句有所不同,如果一个查询语句执行成功,就要返回查询的结果,而其他的SQL语句只是返回执行成功或失败的信息。查询语句的处理主要包括一下3个阶段阶段:编译(parse)、执行(execute)和提取数据(fetch)。 1、编译:在编译时,服务器进程会将SQL语句的正文放入共享池的高速缓存(library cache)中并将完成一下处理。 * 首先在共享池中搜索是否用相同的SQL语句(正文),如果没有就进行后续处理。 * 检查该SQL语句的语法是否正确。 * 通过查看数据字典来检查表和列的定义。 * 对所操作的对象加编译锁(prase locks),以便在编译语句期间这些对象的定义不能被改变。 * 检查所应用对象的用户权限。 * 生成执行该SQL语句所需的执行计划(执行步骤)。 * 将SQL语句和执行计划装入共享的SQL区。 2、执行:Oracle 服务器进程开始执行SQL语句是因为它已获得了执行SQL语句所需的全部资源和信息。 3、提取数据:Oracle 服务器进程选择所需的数据行,并在需要时将其排序,最后将结果返回给用户或进程。 ;

      
 
  
 Orasql.Com|E-Mail:oracleawen@gmail.com|Phone:15271942915|Copyright © 2011|All Rights Reserved|