转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 数据库 >> SyBase >> 正文
分级汇总实现的3种方法比较         ★★★★

分级汇总实现的3种方法比较

作者:闵涛 文章来源:闵涛的学习笔记 点击数:1535 更新时间:2009/4/22 23:09:09
已选择28行。

已用时间:  00: 00: 01.03

Execution Plan
----------------------------------------------------------
   0      SELECT STATEMENT Optimizer=CHOOSE
   1    0   NESTED LOOPS
   2    1     VIEW
   3    2       SORT (UNIQUE)
   4    3         UNION-ALL
   5    4           SORT (GROUP BY)
   6    5             TABLE ACCESS (FULL) OF ''''CJ601''''
   7    4           SORT (GROUP BY)
   8    7             TABLE ACCESS (FULL) OF ''''CJ601''''
   9    4           SORT (GROUP BY)
  10    9             TABLE ACCESS (FULL) OF ''''CJ601''''
  11    1     TABLE ACCESS (BY INDEX ROWID) OF ''''DJZCLX''''
  12   11       INDEX (UNIQUE SCAN) OF ''''SYS_C002814'''' (UNIQUE)


Statistics
----------------------------------------------------------
        199  recursive calls
          0  db block gets
      13854  consistent gets
       2086  physical reads
          0  redo size
       1480  bytes sent via SQL*Net to client
        514  bytes received via SQL*Net from client
          3  SQL*Net roundtrips to/from client
          8  sorts (memory)
          0  sorts (disk)
         28  rows processed

SQL> select code 代码 , substrb(''''    '''',1,item_level*2-2)||b.reg_type 登记注册类型, cnt 家数 from
  2  (
  3  select
  4  case when code3 is not null then code3
  5       when code2<>''''0'''' then code2
  6  else code1
  7  end code,cnt
  8   from (
  9  select substr(z01_08,1,1)||''''00'''' code1 , substr(z01_08,1,2)||''''0'''' code2 , substr(z01_08,1,3) code3 ,count(*) cnt
 10      from cj601
 11      group by rollup(substr(z01_08,1,1),substr(z01_08,1,2),substr(z01_08,1,3))
 12  ) where code2<>code3 or code3 is null and code1<>''''00''''
 13  )
 14  c, djzclx b where c.code=b.reg_code
 15  order by 1
 16  ;

已选择28行。

已用时间:  00: 00: 00.07

Execution Plan
----------------------------------------------------------
   0      SELECT STATEMENT Optimizer=CHOOSE
   1    0   SORT (ORDER BY)
   2    1     NESTED LOOPS
   3    2       VIEW
   4    3         FILTER
   5    4           SORT (GROUP BY ROLLUP)
   6    5             TABLE ACCESS (FULL) OF ''''CJ601''''
   7    2       TABLE ACCESS (BY INDEX ROWID) OF ''''DJZCLX''''
   8    7         INDEX (UNIQUE SCAN) OF ''''SYS_C002814'''' (UNIQUE)


Statistics
----------------------------------------------------------
          0  recursive calls
          0  db block gets
       4628  consistent gets
        701  physical reads
          0  redo size
       1480  bytes sent via SQL*Net to client
        514  bytes received via SQL*Net from client
          3  SQL*Net roundtrips to/from client
          2  sorts (memory)
          0  sorts (disk)
         28  rows processed

SQL> select code 代码 , substrb(''''    '''',1,item_level*2-2)||b.reg_type 登记注册类型, cnt 家数 from
  2  (
  3  select
  4  case when code3 is not null then code3
  5       when code2<>''''0'''' then code2
  6  else code1
  7  end code,cnt
  8   from (
  9  select substr(z01_08,1,1)||''''00'''' code1 , substr(z01_08,1,2)||''''0'''' code2 , substr(z01_08,1,3) code3 ,sum(cnt) cnt
 10      from (select substr(z01_08,1,3) z01_08,count(*) cnt from cj601 group by substr(z01_08,1,3))
 11      group by rollup(substr(z01_08,1,1),substr(z01_08,1,2),substr(z01_08,1,3))
 12  ) where code2<>code3 or code3 is null and code1<>''''00''''
 13  )
 14  c, djzclx b where c.code=b.reg_code
 15  order by 1
 16  ;

已选择28行。

已用时间:  00: 00: 00.06

Execution Plan
----------------------------------------------------------
   0      SELECT STATEMENT Optimizer=CHOOSE
   1    0   SORT (ORDER BY)
   2    1     NESTED LOOPS
   3    2       VIEW
   4    3         FILTER
   5    4           SORT (GROUP BY ROLLUP)
   6    5             VIEW
   7    6               SORT (GROUP BY)
   8    7                 TABLE ACCESS (FULL) OF ''''CJ601''''
   9    2       TABLE ACCESS (BY INDEX ROWID) OF ''''DJZCLX''''
  10    9         INDEX (UNIQUE SCAN) OF ''''SYS_C002814'''' (UNIQUE)


Statistics
----------------------------------------------------------
          0  recursive calls
          0  db block gets
       4628  consistent gets
        705  physical reads
          0  redo size
       1480  bytes sent via SQL*Net to client
        514  bytes received via SQL*Net from client
          3  SQL*Net roundtrips to/from client
          3  sorts (memory)
          0  sorts (disk)
         28  rows processed

SQL>

第3种的一致性取和物理读都超过第2种,不过还是快一些

上一页  [1] [2] 


没有相关教程
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · Sql Server  · MySql
    · Access  · ORACLE
    · SyBase  · 其他
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台