Oracle中SQL语句执行效率的查找与解决(3)

日期: 2008-06-16 作者:Ford 来源:TechTarget中国

  SORT- merge join,将两表的连接列各自排序然后合并,只能用于连接列相等的情况,适合两表大小相若的情况(在缺乏数据的选择性或者可用的索引时,或者两个源表都过于庞大(超过记录数的5%)时,排序合并连接将比嵌套循环连更加高效。但是,排列合并连接只能用于等价连接(where D.deptno=E.dejptno,而不是where D.deptno>=E.deptno)。排列合并连接需要临时的内存块,以用于排序(如果SORT_AREA_SIZE设置得太小的话)。这将导致在临时表空间占用更多的内存和磁盘I/O。)


  HASH join在其中一表的连接列上作散列,因此只有另外一个表做排序合并,理论上比SORT join会快些,需要有足够的内存,而且打开了SORT_join_ENABLE参数。(当缺少有用的索引时,哈希连接比嵌套循环连接更加有效。哈希连接可能比排序合并连接更快,因为在这种情况下只有一张源表需要排序。哈希连接也可能比嵌套循环连接更快,因为处理内存中的哈希表比检索B_树索引更加迅速。和排序合并连接、群集连接一样,哈希连接只能用于等价连接。和排序合并连接一样,哈希连接使用内存资源,并且当用于排序内存不足时,会增加临时表空间的I/O(这将使这种连接方法速度变得极慢)。最后,只有基于代价的优化器才可以使用哈希连接。)


  BNo2: AUTOTRACE


  set autotrace 使用步骤:


  1、以system登录
 
  2、创建plustrace角色; sqlplusadminplustrce.sql


  3、向常规用户授予权限:grant plustrace to


  4、如果没有plan_table也要创建: rdbmsadminutlxplan.sql


  set autotrace 选项


  on 显示查询结果,执行计划,统计数据


  on statistics 显示查询结果,统计数据,不显示执行计划


  on explain 显示查询结果,执行计划,不显示统计数据


  traceonly 显示执行计划和统计结果,但不包括查询结果


  traceonly statistics 仅显示统计数据


  recursive calls 在用户级别和系统级别上生成的递归调用的数量。Oracle维护了一些用于内部处理的表。当oracle需要对这些表进行更改时,它就会在内部生成一个SQL语句,然后这个语句再生成一个递归调用。


  db block gets 请求一个CURRENT块的次数


  consistent gets 为一块请求consistent read的次数


  physical reads 从磁盘读取得数据块总数。这个数量等于“直接物理读取”的值加上读入缓冲区的所有数据块


  redo size 生成的重做的总数量(以字节为单位)


  bytes sent via SQL * Net to client 从前台进程发送给客户的总字节数


  bytes received via SQL * Net from client 通过Oracle Net从客户接收的总字节数


  SQL*Net roundtrips to/from client 发送给客户和从客户接收的Oracle Net消息的总数


  sorts (memory) 完全在内存中执行并且不需要任何磁盘写入的排序操作的数量


  db block gets 请求一个CURRENT块的次数


  consistent gets 为一块请求consistent read的次数


  physical reads 从磁盘读取得数据块总数。这个数量等于“直接物理读取”的值加上读入缓冲区的所有数据块


  redo size 生成的重做的总数量(以字节为单位)


  bytes sent via SQL * Net to client 从前台进程发送给客户的总字节数


  bytes received via SQL * Net from client 通过Oracle Net从客户接收的总字节数


  SQL*Net roundtrips to/from client 发送给客户和从客户接收的Oracle Net消息的总数


  sorts (memory) 完全在内存中执行并且不需要任何磁盘写入的排序操作的数量

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

作者

Ford
Ford

相关推荐