ITPub博客

首页 > Linux操作系统 > Linux操作系统 > SQL语句的执行过程

SQL语句的执行过程

原创 Linux操作系统 作者:puremancw 时间:2011-11-28 22:58:55 0 删除 编辑

一、parse(解析)
     1、从共享池的库缓冲区中搜索,该语句是否执行过,凡是执行过的sql语句,oracle会使用hash函数进行计算,产生一个很小的文本记录;如果是第一次执行,则进入第二步;
     2、检查语法,权限等等(权限的信息存放在oracle的数据字典当中),oracle先从共享池的数据字典缓冲区中搜索,
          如果没有找到,再从数据文件(system表空间的数据文件)当中读取,然后存放在共享池的数据字典缓冲区中,以便共享;
     3、分析过程中,对访问到的表进行锁操作,目的是为了保护表的数据结构不被修改;
     4、oracle优化器会根据数据的存储结构(表的存储结构,索引)统计信息等,计算各种读取的代价,选择一条最佳路径,生成执行计划,同时编译并存储在共享池的库缓冲区中,以便共享;
二、bind(绑定)
       绑定变量
三、execute(执行)
        先从数据缓冲区查找数据,如果没有,再从数据文件中读取数据到数据缓冲区,保存以便共享;
四、fetch
        把结果返回给用户;

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/26486119/viewspace-712271/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: 索引
下一篇: Linux命令——find
请登录后发表评论 登录
全部评论

注册时间:2011-11-27

  • 博文量
    5
  • 访问量
    5253