易截截图软件、单文件、免安装、纯绿色、仅160KB

【转】Oracle SQL的硬解析和软解析

说到软解析(soft prase
)和硬解析(
hard prase
),就不能不说一下
Oracle

sql
的处理过程。当你发出一条
sql
语句交付
Oracle
,在执行和获取结果前,
Oracle
对此
sql
将进行几个步骤的处理过程:
    1、语法检查(
syntax check

    检查此sql
的拼写是否语法。
    2、语义检查(
semantic check

    诸如检查sql
语句中的访问对象是否存在及该用户是否具备相应的权限。
    3、对
sql
语句进行解析(
prase

    利用内部算法对sql
进行解析,生成解析树(
parse tree
)及执行计划(
execution plan
)。
    4、执行
sql
,返回结果(
execute and return

    其中,软、硬解析就发生在第三个过程里。
    Oracle利用内部的
hash
算法来取得该
sql

hash
值,然后在
library cache
里查找是否存在该
hash
值;
    假设存在,则将此sql

cache
中的进行比较;
    假设“
相同

,就将利用已有的解析树与执行计划,而省略了优化器的相关工作。这也就是软解析的过程。
    诚然,如果上面的2
个假设中任有一个不成立,那么优化器都将进行创建解析树、生成执行计划的动作。这个过程就叫硬解析。
    创建解析树、生成执行计划对于sql
的执行来说是开销昂贵的动作,所以,应当极力避免硬解析,尽量使用软解析。
这就是在很多项目中,倡导开发设计人员对功能相同的代码要努力保持代码的一致性,以及要在程序中多使用绑定变量的原因。
 
 
    /****************************************************/
    大家都在说在Sql
中使用了
Bind Var
(绑定变量)会提高不少性能,那他到底是如何提高性能的呢?
    使用了Bind Var
能提高性能主要是因为这样做可以尽量避免不必要的硬分析(
Hard Parse
)而节约了时间,同时节约了大量的
CPU
资源。
    当一个Client
提交一条
Sql

Or


相关文档:

sql 2005 存储过程分页 java 代码

 create PROCEDURE pagelist
@tablename nvarchar(50),
@fieldname nvarchar(50)='*',         
@pagesize int output,--每页显示记录条数
@currentpage int output,--第几页
@orderid nvarchar(50),--主键排序
@sort int,--排序方式,1表示升序,0表示降序排列 ......

关于sql trace 和 10046事件的说明

原文地址:http://www.eygle.com/case/Use.sql_trace.to.Diagnose.database.htm
SQL_TRACE是Oracle提供的用于进行SQL跟踪的手段,是强有力的辅助诊断工具.在日常的数据库问题诊断和解决中,SQL_TRACE是非常常用的方法。
本文就SQL_TRACE的使用作简单探讨,并通过具体案例对sql_trace的使用进行说明.
一、 基础介绍
(a) ......

使用oracle的10046事件跟踪SQL语句

原文地址:http://www.blogjava.net/xingcyx/archive/2007/01/09/92638.html
使用oracle的10046事件跟踪SQL语句
我们在分析应用程序性能问题的时候,更多地需要关注其中SQL语句的执行情况,因为通常应用程序的性能瓶颈会在数据库这边,因此数据库的sql语句是我们优化的重点。利用Oracle的10046事件,可以跟踪应用程序所执 ......

ORACLE SQL优化

ORACLE SQL优化
(1) 选择最有效率的表名顺序(只在基于规则的优化器中有效):
ORACLE 的解析器按照从右到左的顺序处理from 子句中的表名,from 子句中写在最后的表
(基础表driving table)将被最先处理,在from 子句中包含多个表的情况下,你必须选择记
录条数最少的表作为基础表。如果有3个以上的表连接查询, 那就需 ......

SQL数据中运行cmd命令

在sql查询分析器里面是不能直接运行cmd命令的
但是SQL给出了一个接口
--打开高级设置
EXEC sp_configure 'show advanced options', 1
RECONFIGURE
--打开xp_cmdshell扩展存储过程
EXEC sp_configure 'xp_cmdshell', 1
RECONFIGURE
首先 打开一些配置
然后执行你要运行cmd命令
exec master..xp_cmdshell 'net star ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号