1.Oracle执行SQL的步骤:
SQL语句的执行主要由用户进程和服务器进程来完成。
*1.1:查询语句
查询语句的处理包括以下三个阶段:编译(prase),执行(execute),提取数据(fetch)
- 编译:进行编译时,服务器进程将SQL语句的正文放入共享池(shared pool)的库高速缓存(library cache):
>首先在共享池中搜索是否有相同的sql语句,如果没有就进行后续处理;
>检查SQL语句的语法是否正确;
>通过查看数据字典来检查表和列的定义;
>对操作的对象加编译锁(parse locks);
>检查所引用对象的用户权限;
>生成执行该SQL语句所需的优化的执行步骤;
>将SQL语句和执行步骤装入共享的SQL区; - 执行:服务器进程开始执行SQL语句是因为已获得了执行sql语句所需的全部资源和信息;
- 提取数据:服务器进程选择所需的数据行,进行排序,将结果返回给用户;
*1.2 :DML语句
DML语句的处理包括以下两个阶段:编译(prase),执行(execute)
执行UPDATE语句的步骤:(insert 和delete类似)
&g