CTOCIO IT专家网

天极传媒 比特网 | 天极网 | IT专家网 | IT商网 | 52PK游戏网 | 手机天极 | IT分众 |
IT专家网搜索

数据库 | Oracle | DB2 | SQL Server | MySQL | 商业智能 | BI | DBA | Sybase| SQL Server 2008

您现在的位置: IT专家网 > 数据库子站 > 数据库技巧

优化SQL的另一种思维5 ORACLE执行计划之具体案例分析

作者: Peak Wong,  出处:IT专家网, 责任编辑: 李书琴, 
2008-03-17 08:55
  优化SQL的另一种思维系列文章是作者用了快一年的时间完成的SQL优化文章,它的原理实际上是通过分析SQL语句的执行计划来实现对整体SQL进行优化的,这是多年项目经验的总结,由于考虑到目前国内的Oracle部署还基本维持在Oracle 8 和Oracle 9的水平上,所以里面的模拟环境都是在Oracle 8.3下进行的,希望可以针对性更强一些。本文是系列连载的第五章:ORACLE的执行计划之具体案例分析篇。

  《优化SQL的另一种思维目录

  一、性能调整综述

  二、有效的应用设计

  三、SQL语句处理的过程

  四、ORACLE的优化器

  五、ORACLE的执行计划

    背景知识

    访问路径(方法) -- access path

    表之间的连接

    如何产生执行计划

    如何分析执行计划

    如何干预执行计划 - - 使用hints提示

    具体测试实例

    具体案例分析

  六、其它注意事项

  七、整体实例分析

    客户端程序优化SQL步骤

    tkprof程序整体实例解说

  【IT专家网独家】

  环境:oracle 817 + linux + 阵列柜

  swd_billdetail 表5000万条数据

  SUPER_USER 表2800条数据

  连接列上都有索引,而且super_user中的一条对应于swd_billdetail表中的很多条记录

  表与索引都做了分析。

  实际应用的查询为:

  select a.CHANNEL, B.user_class

  from swd_billdetail B, SUPER_USER A

  where A.cn = B.cn;

  这样在分析时导致查询出的数据过多,不方便,所以用count(a.CHANNEL||B.user_class)来代替,而且count(a.CHANNEL||B.user_class)操作本身并不占用过多的时间,所以可以接受此种替代。

  利用索引查询出SWD_BILLDETAIL表中所有记录的方法:

SQL> select count(id) from SWD_BILLDETAIL;
COUNT(ID)
----------
  53923574
Elapsed: 00:02:166.00
Execution Plan
----------------------------------------------------------
0      SELECT STATEMENT Optimizer=CHOOSE (Cost=18051 Card=1)
1    0   SORT (AGGREGATE)
2    1     INDEX (FAST FULL SCAN) OF 'SYS_C001851' (UNIQUE) (Cost=18051 Card=54863946)

Statistics
----------------------------------------------------------
          0  recursive calls
       1952  db block gets
     158776  consistent gets
     158779  physical reads
       1004  redo size
        295  bytes sent via SQL*Net to client
        421  bytes received via SQL*Net from client
          2  SQL*Net roundtrips to/from client
          1  sorts (memory)
          0  sorts (disk)
          1  rows processed

共4页。 1 2 3 4 :

网友评论

笔名 
请您注意:遵守国家有关法律、法规,尊重网上道德,承担一切因您的行为而直接或间接引起的法律责任。    IT专家网友拥有管理笔名和留言的一切权利。
  • 周排行榜
  • 月排行榜

邮件订阅


    
天极服务 | 关于我们 | 网站律师 | 加入我们 | 联系我们 | 广告业务 | 友情链接 | 我要挑错
All Rights Reserved, Copyright 2004-2008, Ctocio.com.cn
渝ICP证B2-20030003号 如有意见请与我们联系 powered by 天极内容管理平台CMS4i