首页
论坛
门户
空间
手机版
IXPUB
插件
收藏
设置
注册
登录
商店
搜索
培训
Wiki
Blog
归档
丛书
退出
ITPUB论坛
»
Oracle入门与认证
» 对Oracle分组汇总的性能测试
‹‹ 上一主题
|
下一主题 ››
投票
交易
悬赏
活动
评价
|
打印
|
推荐
|
订阅
|
收藏
标题:
[原创]
对Oracle分组汇总的性能测试
hotiice
版主
精华贴数 9
个人空间
0
技术积分 15966 (66)
社区积分 1757 (641)
注册日期 2004-9-9
论坛徽章:18
#1
使用道具
发表于 2008-6-25 09:56
对Oracle分组汇总的性能测试
t8 x1,v1,v2.....v80
80000行
mt x1,g1,g2,g3
80000行
x1作为关联关键字
已进行索引
SQL> create table mt( x1 varchar(10),g1 number(10),g2 number(10),g3 number(10));
Table created.
Elapsed: 00:00:00.03
SQL> insert into mt select level,mod(level*DBMS_RANDOM.RANDOM,3),mod(level*DBMS_RANDOM.RANDOM,3),mod(level*DBMS_RANDOM.RANDOM,3) from dual connect by level<=80000;
80000 rows created.
Elapsed: 00:00:03.86
SQL> commit;
Commit complete.
Elapsed: 00:00:00.01
SQL>
SQL> create index idx1 on mt(x1);
Index created.
Elapsed: 00:00:00.41
SQL> create table t8 as select * from tcol80;
Table created.
Elapsed: 00:00:08.04
SQL> create index idx2 on t8(x1);
Index created.
Elapsed: 00:00:00.85
SQL>
SQL> select g1,sum(v1) s1,
2 sum(v2) s2,
3 sum(v3) s3,
4 sum(v4) s4,
5 sum(v5) s5,
6 sum(v6) s6,
7 sum(v7) s7,
8 sum(v8) s8,
9 sum(v9) s9,
10 sum(v10) s10,
11 sum(v11) s11,
12 sum(v12) s12,
13 sum(v13) s13,
14 sum(v14) s14,
15 sum(v15) s15,
16 sum(v16) s16,
17 sum(v17) s17,
18 sum(v18) s18,
19 sum(v19) s19,
20 sum(v20) s20 from t8,mt where t8.x1=mt.x1 group by g1;
Elapsed: 00:00:00.72
SQL>
SQL> 20
20* sum(v20) s20 from t8,mt where t8.x1=mt.x1 group by g1
SQL> c/g1/g2
20* sum(v20) s20 from t8,mt where t8.x1=mt.x1 group by g2
SQL> 1
1* select g1,sum(v1) s1,
SQL> c/g1/g2
1* select g2,sum(v1) s1,
SQL> /
Elapsed: 00:00:00.74
SQL> 1
1* select g2,sum(v1) s1,
SQL> c/g2/g3
1* select g3,sum(v1) s1,
SQL> 20
20* sum(v20) s20 from t8,mt where t8.x1=mt.x1 group by g2
SQL> c/g2/g3
20* sum(v20) s20 from t8,mt where t8.x1=mt.x1 group by g3
SQL> /
Elapsed: 00:00:00.74
SQL>
SQL> select g1,g2,g3 sum(v1) s1,
2 sum(v2) s2,
3 sum(v3) s3,
4 sum(v4) s4,
5 sum(v5) s5,
6 sum(v6) s6,
7 sum(v7) s7,
8 sum(v8) s8,
9 sum(v9) s9,
10 sum(v10) s10,
11 sum(v11) s11,
12 sum(v12) s12,
13 sum(v13) s13,
14 sum(v14) s14,
15 sum(v15) s15,
16 sum(v16) s16,
17 sum(v17) s17,
18 sum(v18) s18,
19 sum(v19) s19,
20 sum(v20) s20 from t8,mt where t8.x1=mt.x1 group by grouping sets((g1),(g2),(g3));
select g1,g2,g3 sum(v1) s1,
*
ERROR at line 1:
ORA-00923: FROM keyword not found where expected
Elapsed: 00:00:00.00
SQL> 1
1* select g1,g2,g3 sum(v1) s1,
SQL> c/3/3,
1* select g1,g2,g3, sum(v1) s1,
SQL> /
15 rows selected.
Elapsed: 00:00:02.63
SQL> /
15 rows selected.
Elapsed: 00:00:02.14
Execution Plan
----------------------------------------------------------
Plan hash value: 1982715053
------------------------------------------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes |TempSpc| Cost (%CPU)| Time |
------------------------------------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 68343 | 19M| | 2838 (3)| 00:00:35 |
| 1 | TEMP TABLE TRANSFORMATION | | | | | | |
| 2 | LOAD AS SELECT | | | | | | |
|* 3 | HASH JOIN | | 68343 | 20M| 4232K| 2827 (3)| 00:00:34 |
| 4 | TABLE ACCESS FULL | MT | 74590 | 3350K| | 63 (13)| 00:00:01 |
| 5 | TABLE ACCESS FULL | T8 | 68343 | 17M| | 1641 (3)| 00:00:20 |
| 6 | LOAD AS SELECT | | | | | | |
| 7 | HASH GROUP BY | | 1 | 273 | | 3 (34)| 00:00:01 |
| 8 | TABLE ACCESS FULL | SYS_TEMP_0FD9D662A_1E0163A1 | 1 | 273 | | 2 (0)| 00:00:01 |
| 9 | LOAD AS SELECT | | | | | | |
| 10 | HASH GROUP BY | | 1 | 273 | | 3 (34)| 00:00:01 |
| 11 | TABLE ACCESS FULL | SYS_TEMP_0FD9D662A_1E0163A1 | 1 | 273 | | 2 (0)| 00:00:01 |
| 12 | LOAD AS SELECT | | | | | | |
| 13 | HASH GROUP BY | | 1 | 273 | | 3 (34)| 00:00:01 |
| 14 | TABLE ACCESS FULL | SYS_TEMP_0FD9D662A_1E0163A1 | 1 | 273 | | 2 (0)| 00:00:01 |
| 15 | VIEW | | 1 | 299 | | 2 (0)| 00:00:01 |
| 16 | TABLE ACCESS FULL | SYS_TEMP_0FD9D662B_1E0163A1 | 1 | 299 | | 2 (0)| 00:00:01 |
------------------------------------------------------------------------------------------------------------------
Predicate Information (identified by operation id):
---------------------------------------------------
3 - access("SYS_TBL_$2$"."X1"="SYS_TBL_$1$"."X1")
Note
-----
- dynamic sampling used for this statement
Statistics
----------------------------------------------------------
18 recursive calls
1876 db block gets
12914 consistent gets
1819 physical reads
2720 redo size
4605 bytes sent via SQL*Net to client
492 bytes received via SQL*Net from clientn
2 SQL*Net roundtrips to/from client
0 sorts (memory)
0 sorts (disk)
15 rows processed
[
本帖最后由 hotiice 于 2008-6-25 10:25 编辑
]
__________________
①②⑧
只看该作者
hotiice
版主
精华贴数 9
个人空间
0
技术积分 15966 (66)
社区积分 1757 (641)
注册日期 2004-9-9
论坛徽章:18
#2
使用道具
发表于 2008-6-25 10:15
改变提示
SQL> select/*+
RULE
*/ g1,g2,g3, sum(v1) s1,
2 sum(v2) s2,
3 sum(v3) s3,
4 sum(v4) s4,
5 sum(v5) s5,
6 sum(v6) s6,
7 sum(v7) s7,
8 sum(v8) s8,
9 sum(v9) s9,
10 sum(v10) s10,
11 sum(v11) s11,
12 sum(v12) s12,
13 sum(v13) s13,
14 sum(v14) s14,
15 sum(v15) s15,
16 sum(v16) s16,
17 sum(v17) s17,
18 sum(v18) s18,
19 sum(v19) s19,
20 sum(v20) s20 from t8,mt where t8.x1=mt.x1 and t8.x1<=2000 group by grouping sets((g1),(g2),(g3));
15 rows selected.
Elapsed: 00:00:00.37
Execution Plan
----------------------------------------------------------
Plan hash value: 3230086573
----------------------------------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
----------------------------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1276 | 372K| 1714 (3)| 00:00:21 |
| 1 | TEMP TABLE TRANSFORMATION | | | | | |
| 2 | LOAD AS SELECT | | | | | |
|* 3 | HASH JOIN | | 1276 | 390K| 1700 (3)| 00:00:21 |
|* 4 |
TABLE ACCESS FULL
| T8 | 1276 | 332K| 1633 (2)| 00:00:20 |
| 5 |
TABLE ACCESS FULL
| MT | 74590 | 3350K| 63 (13)| 00:00:01 |
| 6 | LOAD AS SELECT | | | | | |
| 7 | HASH GROUP BY | | 2000 | 533K| 4 (50)| 00:00:01 |
| 8 | TABLE ACCESS FULL | SYS_TEMP_0FD9D6632_1E0163A1 | 2000 | 533K| 3 (34)| 00:00:01 |
| 9 | LOAD AS SELECT | | | | | |
| 10 | HASH GROUP BY | | 2000 | 533K| 4 (50)| 00:00:01 |
| 11 | TABLE ACCESS FULL | SYS_TEMP_0FD9D6632_1E0163A1 | 2000 | 533K| 3 (34)| 00:00:01 |
| 12 | LOAD AS SELECT | | | | | |
| 13 | HASH GROUP BY | | 2000 | 533K| 4 (50)| 00:00:01 |
| 14 | TABLE ACCESS FULL | SYS_TEMP_0FD9D6632_1E0163A1 | 2000 | 533K| 3 (34)| 00:00:01 |
| 15 | VIEW | | 2000 | 583K| 3 (34)| 00:00:01 |
| 16 | TABLE ACCESS FULL | SYS_TEMP_0FD9D6633_1E0163A1 | 2000 | 583K| 3 (34)| 00:00:01 |
----------------------------------------------------------------------------------------------------------
Predicate Information (identified by operation id):
---------------------------------------------------
3 - access("SYS_TBL_$2$"."X1"="SYS_TBL_$1$"."X1")
4 - filter(TO_NUMBER("SYS_TBL_$2$"."X1")<=2000)
Note
-----
- dynamic sampling used for this statement
Statistics
----------------------------------------------------------
1044 recursive calls
82 db block gets
7974 consistent gets
75
physical reads
5168 redo size
4571 bytes sent via SQL*Net to client
492 bytes received via SQL*Net from client
2 SQL*Net roundtrips to/from client
4 sorts (memory)
0 sorts (disk)
15 rows processed
SQL> select/*+ index(mt idx1) */ g1,g2,g3, sum(v1) s1,
2 sum(v2) s2,
3 sum(v3) s3,
4 sum(v4) s4,
5 sum(v5) s5,
6 sum(v6) s6,
7 sum(v7) s7,
8 sum(v8) s8,
9 sum(v9) s9,
10 sum(v10) s10,
11 sum(v11) s11,
12 sum(v12) s12,
13 sum(v13) s13,
14 sum(v14) s14,
15 sum(v15) s15,
16 sum(v16) s16,
17 sum(v17) s17,
18 sum(v18) s18,
19 sum(v19) s19,
20 sum(v20) s20 from t8,mt where t8.x1=mt.x1 and t8.x1<=2000 group by grouping sets((g1),(g2),(g3));
15 rows selected.
Elapsed: 00:00:00.34
Execution Plan
----------------------------------------------------------
Plan hash value: 3391973251
-------------------------------------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
-------------------------------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1276 | 372K| 4205 (2)| 00:00:51 |
| 1 | TEMP TABLE TRANSFORMATION | | | | | |
| 2 | LOAD AS SELECT | | | | | |
| 3 | TABLE ACCESS BY INDEX ROWID| MT | 1 | 46 | 2 (0)| 00:00:01 |
| 4 | NESTED LOOPS | | 1276 | 390K| 4194 (1)| 00:00:51 |
|* 5 | TABLE ACCESS FULL | T8 | 1276 | 332K| 1633 (2)| 00:00:20 |
|* 6 |
INDEX RANGE SCAN
| IDX1 | 1 | | 1 (0)| 00:00:01 |
| 7 | LOAD AS SELECT | | | | | |
| 8 | HASH GROUP BY | | 1 | 273 | 3 (34)| 00:00:01 |
| 9 | TABLE ACCESS FULL | SYS_TEMP_0FD9D6636_1E0163A1 | 1 | 273 | 2 (0)| 00:00:01 |
| 10 | LOAD AS SELECT | | | | | |
| 11 | HASH GROUP BY | | 1 | 273 | 3 (34)| 00:00:01 |
| 12 | TABLE ACCESS FULL | SYS_TEMP_0FD9D6636_1E0163A1 | 1 | 273 | 2 (0)| 00:00:01 |
| 13 | LOAD AS SELECT | | | | | |
| 14 | HASH GROUP BY | | 1 | 273 | 3 (34)| 00:00:01 |
| 15 | TABLE ACCESS FULL | SYS_TEMP_0FD9D6636_1E0163A1 | 1 | 273 | 2 (0)| 00:00:01 |
| 16 | VIEW | | 1 | 299 | 2 (0)| 00:00:01 |
| 17 | TABLE ACCESS FULL | SYS_TEMP_0FD9D6637_1E0163A1 | 1 | 299 | 2 (0)| 00:00:01 |
-------------------------------------------------------------------------------------------------------------
Predicate Information (identified by operation id):
---------------------------------------------------
5 - filter(TO_NUMBER("SYS_TBL_$2$"."X1")<=2000)
6 - access("SYS_TBL_$2$"."X1"="SYS_TBL_$1$"."X1")
Note
-----
- dynamic sampling used for this statement
Statistics
----------------------------------------------------------
1042 recursive calls
81 db block gets
9773 consistent gets
238
physical reads
5168 redo size
4571 bytes sent via SQL*Net to client
492 bytes received via SQL*Net from client
2 SQL*Net roundtrips to/from client
4 sorts (memory)
0 sorts (disk)
15 rows processed
SQL> select/*+
index(mt idx1) index(t8 idx2)
*/ g1,g2,g3, sum(v1) s1,
2 sum(v2) s2,
3 sum(v3) s3,
4 sum(v4) s4,
5 sum(v5) s5,
6 sum(v6) s6,
7 sum(v7) s7,
8 sum(v8) s8,
9 sum(v9) s9,
10 sum(v10) s10,
11 sum(v11) s11,
12 sum(v12) s12,
13 sum(v13) s13,
14 sum(v14) s14,
15 sum(v15) s15,
16 sum(v16) s16,
17 sum(v17) s17,
18 sum(v18) s18,
19 sum(v19) s19,
20 sum(v20) s20 from t8,mt where t8.x1=mt.x1 and t8.x1<=2000 group by grouping sets((g1),(g2),(g3));
15 rows selected.
Elapsed: 00:00:00.31
Execution Plan
----------------------------------------------------------
Plan hash value: 2423108582
---------------------------------------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
---------------------------------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1276 | 372K| 4120 (1)| 00:00:50 |
| 1 | TEMP TABLE TRANSFORMATION | | | | | |
| 2 | LOAD AS SELECT | | | | | |
| 3 | TABLE ACCESS BY INDEX ROWID | MT | 1 | 46 | 2 (0)| 00:00:01 |
| 4 | NESTED LOOPS | | 1276 | 390K| 4109 (1)| 00:00:50 |
| 5 | TABLE ACCESS BY INDEX ROWID| T8 | 1276 | 332K| 1548 (2)| 00:00:19 |
|* 6 |
INDEX FULL SCAN
| IDX2 | 3417 | | 215 (6)| 00:00:03 |
|* 7 |
INDEX RANGE SCAN
| IDX1 | 1 | | 1 (0)| 00:00:01 |
| 8 | LOAD AS SELECT | | | | | |
| 9 | HASH GROUP BY | | 1 | 273 | 3 (34)| 00:00:01 |
| 10 | TABLE ACCESS FULL | SYS_TEMP_0FD9D663E_1E0163A1 | 1 | 273 | 2 (0)| 00:00:01 |
| 11 | LOAD AS SELECT | | | | | |
| 12 | HASH GROUP BY | | 1 | 273 | 3 (34)| 00:00:01 |
| 13 | TABLE ACCESS FULL | SYS_TEMP_0FD9D663E_1E0163A1 | 1 | 273 | 2 (0)| 00:00:01 |
| 14 | LOAD AS SELECT | | | | | |
| 15 | HASH GROUP BY | | 1 | 273 | 3 (34)| 00:00:01 |
| 16 | TABLE ACCESS FULL | SYS_TEMP_0FD9D663E_1E0163A1 | 1 | 273 | 2 (0)| 00:00:01 |
| 17 | VIEW | | 1 | 299 | 2 (0)| 00:00:01 |
| 18 | TABLE ACCESS FULL | SYS_TEMP_0FD9D663F_1E0163A1 | 1 | 299 | 2 (0)| 00:00:01 |
---------------------------------------------------------------------------------------------------------------
Predicate Information (identified by operation id):
---------------------------------------------------
6 - filter(TO_NUMBER("SYS_TBL_$2$"."X1")<=2000)
7 - access("SYS_TBL_$2$"."X1"="SYS_TBL_$1$"."X1")
Note
-----
- dynamic sampling used for this statement
Statistics
----------------------------------------------------------
1042 recursive calls
81 db block gets
3639 consistent gets
719
physical reads
5168 redo size
4571 bytes sent via SQL*Net to client
492 bytes received via SQL*Net from client
2 SQL*Net roundtrips to/from client
4 sorts (memory)
0 sorts (disk)
15 rows processed
[
本帖最后由 hotiice 于 2008-6-25 10:18 编辑
]
__________________
①②⑧
只看该作者
hotiice
版主
精华贴数 9
个人空间
0
技术积分 15966 (66)
社区积分 1757 (641)
注册日期 2004-9-9
论坛徽章:18
#3
使用道具
发表于 2008-6-25 10:19
用索引快了一点,RULE和CBO的执行计划相同
__________________
①②⑧
只看该作者
hotiice
版主
精华贴数 9
个人空间
0
技术积分 15966 (66)
社区积分 1757 (641)
注册日期 2004-9-9
论坛徽章:18
#4
使用道具
发表于 2008-6-25 16:07
grouping sets 虽然是一次全表扫描,但是执行时间和3个分别的SQL之和差不多
__________________
①②⑧
只看该作者
hotiice
版主
精华贴数 9
个人空间
0
技术积分 15966 (66)
社区积分 1757 (641)
注册日期 2004-9-9
论坛徽章:18
#5
使用道具
发表于 2008-6-25 16:30
当汇总的字段较多时,grouping sets更慢
100列测试单个分组g1 g2 g3都是00:00:01.93,grouping sets 00:00:07.29,再次执行00:00:06.68
另一台更低档的
g1 g2 g3都是00:00:02.90grouping sets 00:00:24.84 再次执行00:00:19.57
__________________
①②⑧
只看该作者
hotiice
版主
精华贴数 9
个人空间
0
技术积分 15966 (66)
社区积分 1757 (641)
注册日期 2004-9-9
论坛徽章:18
#6
使用道具
发表于 2008-6-25 16:39
cube(g1,g2,g3) 00:00:10.45,再次执行00:00:12.48
另一台更低档的
00:00:07.21 ,奇怪
__________________
①②⑧
只看该作者
hotiice
版主
精华贴数 9
个人空间
0
技术积分 15966 (66)
社区积分 1757 (641)
注册日期 2004-9-9
论坛徽章:18
#7
使用道具
发表于 2008-6-26 12:52
GROUPING SETS VS UNION ALL
create table tall as select mt.g1,mt.g2,mt.g3,tcol80.* from mt,tcol80 where mt.x1=tcol80.x1;
单表3个UNION ALL
Elapsed: 00:00:04.65
Execution Plan
----------------------------------------------------------
Plan hash value: 297211200
----------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
----------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 263K| 264M| 5231 (70)| 00:01:03 |
| 1 | UNION-ALL | | | | | |
| 2 | HASH GROUP BY | | 87813 | 88M| 1744 (8)| 00:00:21 |
| 3 | TABLE ACCESS FULL| TALL | 87813 | 88M| 1714 (6)| 00:00:21 |
| 4 | HASH GROUP BY | | 87813 | 88M| 1744 (8)| 00:00:21 |
| 5 | TABLE ACCESS FULL| TALL | 87813 | 88M| 1714 (6)| 00:00:21 |
| 6 | HASH GROUP BY | | 87813 | 88M| 1744 (8)| 00:00:21 |
| 7 | TABLE ACCESS FULL| TALL | 87813 | 88M| 1714 (6)| 00:00:21 |
----------------------------------------------------------------------------
Note
-----
- dynamic sampling used for this statement
Statistics
----------------------------------------------------------
10 recursive calls
0 db block gets
22083 consistent gets
6927 physical reads
0 redo size
16010 bytes sent via SQL*Net to client
2227 bytes received via SQL*Net from client
2 SQL*Net roundtrips to/from client
0 sorts (memory)
0 sorts (disk)
15 rows processed
单表GROUPING SETS
Elapsed: 00:00:06.52
Execution Plan
----------------------------------------------------------
Plan hash value: 2604983186
----------------------------------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
----------------------------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 87813 | 90M| 1725 (6)| 00:00:21 |
| 1 | TEMP TABLE TRANSFORMATION | | | | | |
| 2 | LOAD AS SELECT | | | | | |
| 3 | TABLE ACCESS FULL | TALL | 87813 | 90M| 1714 (6)| 00:00:21 |
| 4 | LOAD AS SELECT | | | | | |
| 5 | HASH GROUP BY | | 1 | 1053 | 3 (34)| 00:00:01 |
| 6 | TABLE ACCESS FULL | SYS_TEMP_0FD9D6649_1E0163A1 | 1 | 1053 | 2 (0)| 00:00:01 |
| 7 | LOAD AS SELECT | | | | | |
| 8 | HASH GROUP BY | | 1 | 1053 | 3 (34)| 00:00:01 |
| 9 | TABLE ACCESS FULL | SYS_TEMP_0FD9D6649_1E0163A1 | 1 | 1053 | 2 (0)| 00:00:01 |
| 10 | LOAD AS SELECT | | | | | |
| 11 | HASH GROUP BY | | 1 | 1053 | 3 (34)| 00:00:01 |
| 12 | TABLE ACCESS FULL | SYS_TEMP_0FD9D6649_1E0163A1 | 1 | 1053 | 2 (0)| 00:00:01 |
| 13 | VIEW | | 1 | 1079 | 2 (0)| 00:00:01 |
| 14 | TABLE ACCESS FULL | SYS_TEMP_0FD9D664A_1E0163A1 | 1 | 1079 | 2 (0)| 00:00:01 |
----------------------------------------------------------------------------------------------------------
Note
-----
- dynamic sampling used for this statement
Statistics
----------------------------------------------------------
60 recursive calls
7363 db block gets
28976 consistent gets
7223 physical reads
2816 redo size
16135 bytes sent via SQL*Net to client
492 bytes received via SQL*Net from client
2 SQL*Net roundtrips to/from client
0 sorts (memory)
0 sorts (disk)
15 rows processed
2表关联3个UNION ALL
Elapsed: 00:00:05.05
Execution Plan
----------------------------------------------------------
Plan hash value: 2348220724
-------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
-------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 15 | 9135 | 5264 (70)| 00:01:04 |
| 1 | UNION-ALL | | | | | |
| 2 | HASH GROUP BY | | 5 | 3045 | 1754 (8)| 00:00:22 |
|* 3 | HASH JOIN | | 80000 | 46M| 1727 (6)| 00:00:21 |
| 4 | TABLE ACCESS FULL| MT | 80000 | 703K| 62 (12)| 00:00:01 |
| 5 | TABLE ACCESS FULL| TCOL80 | 80000 | 45M| 1656 (6)| 00:00:20 |
| 6 | HASH GROUP BY | | 5 | 3045 | 1755 (8)| 00:00:22 |
|* 7 | HASH JOIN | | 80000 | 46M| 1728 (6)| 00:00:21 |
| 8 | TABLE ACCESS FULL| MT | 80000 | 703K| 63 (13)| 00:00:01 |
| 9 | TABLE ACCESS FULL| TCOL80 | 80000 | 45M| 1656 (6)| 00:00:20 |
| 10 | HASH GROUP BY | | 5 | 3045 | 1755 (8)| 00:00:22 |
|* 11 | HASH JOIN | | 80000 | 46M| 1728 (6)| 00:00:21 |
| 12 | TABLE ACCESS FULL| MT | 80000 | 703K| 63 (13)| 00:00:01 |
| 13 | TABLE ACCESS FULL| TCOL80 | 80000 | 45M| 1656 (6)| 00:00:20 |
-------------------------------------------------------------------------------
Predicate Information (identified by operation id):
---------------------------------------------------
3 - access("T"."X1"="MT"."X1")
7 - access("T"."X1"="MT"."X1")
11 - access("T"."X1"="MT"."X1")
Statistics
----------------------------------------------------------
1 recursive calls
0 db block gets
22113 consistent gets
7110 physical reads
0 redo size
16010 bytes sent via SQL*Net to client
2300 bytes received via SQL*Net from client
2 SQL*Net roundtrips to/from client
0 sorts (memory)
0 sorts (disk)
15 rows processed
2表关联GROUPING SETS
Elapsed: 00:00:07.05
Execution Plan
----------------------------------------------------------
Plan hash value: 573733819
----------------------------------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
----------------------------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 63 | 67977 | 1739 (7)| 00:00:21 |
| 1 | TEMP TABLE TRANSFORMATION | | | | | |
| 2 | LOAD AS SELECT | | | | | |
|* 3 | HASH JOIN | | 80000 | 46M| 1728 (6)| 00:00:21 |
| 4 | TABLE ACCESS FULL | MT | 80000 | 1015K| 63 (13)| 00:00:01 |
| 5 | TABLE ACCESS FULL | TCOL80 | 80000 | 45M| 1656 (6)| 00:00:20 |
| 6 | LOAD AS SELECT | | | | | |
| 7 | HASH GROUP BY | | 1 | 1053 | 3 (34)| 00:00:01 |
| 8 | TABLE ACCESS FULL | SYS_TEMP_0FD9D664B_1E0163A1 | 1 | 1053 | 2 (0)| 00:00:01 |
| 9 | LOAD AS SELECT | | | | | |
| 10 | HASH GROUP BY | | 1 | 1053 | 3 (34)| 00:00:01 |
| 11 | TABLE ACCESS FULL | SYS_TEMP_0FD9D664B_1E0163A1 | 1 | 1053 | 2 (0)| 00:00:01 |
| 12 | LOAD AS SELECT | | | | | |
| 13 | HASH GROUP BY | | 1 | 1053 | 3 (34)| 00:00:01 |
| 14 | TABLE ACCESS FULL | SYS_TEMP_0FD9D664B_1E0163A1 | 1 | 1053 | 2 (0)| 00:00:01 |
| 15 | VIEW | | 1 | 1079 | 2 (0)| 00:00:01 |
| 16 | TABLE ACCESS FULL | SYS_TEMP_0FD9D664C_1E0163A1 | 1 | 1079 | 2 (0)| 00:00:01 |
----------------------------------------------------------------------------------------------------------
Predicate Information (identified by operation id):
---------------------------------------------------
3 - access("SYS_TBL_$2$"."X1"="SYS_TBL_$1$"."X1")
Statistics
----------------------------------------------------------
60 recursive calls
7363 db block gets
29065 consistent gets
14331 physical reads
2768 redo size
16135 bytes sent via SQL*Net to client
492 bytes received via SQL*Net from client
2 SQL*Net roundtrips to/from client
0 sorts (memory)
0 sorts (disk)
15 rows processed
[
本帖最后由 hotiice 于 2008-6-26 13:01 编辑
]
__________________
①②⑧
只看该作者
投票
交易
悬赏
活动
相关内容
ITPUB论坛
≡ 数据库技术 ≡
> Oracle数据库管理
> Oracle开发
> Oracle Developer Suite
> Oracle入门与认证
> Oracle专题深入讨论
> Oracle新技术/11g
> Oracle电子文档
> Oracle Application Server套件
> IBM数据库产品
> MS SQL Server
> Sybase管理与开发
> MySQL及其它开源数据库
> 内存数据库
> 数据仓库与数据挖掘
> 移动及嵌入式数据库
≡ 企业信息化 ≡
> ERP产品与实践
> CRM产品与实践
> HR产品与实践
> 物流
> 供应链
> 供应链建模与仿真
> 物流设备与系统工程
> 企业管理咨询
> 管理协同与办公自动化
> IT服务管理
> 数据中心建设
> ERP二次开发
> Oracle ERP
> EBS相关文档
> PeopleSoft与JDE
> SAP R/3
> SAP Business One开发与快速实施
> SAP财务及CRM
> SAP后勤及HR
> mySAP ERP
> 系统开发及跨应用设置
> SAP相关文档
> 国外其它ERP产品
> 国内ERP产品
≡ 开发技术 ≡
> Java入门与认证版
> Java web开发及框架技术
> Java企业开发
> ASP.NET【已迁移到微软开发技术论坛】
> .Net企业开发与应用【已迁移到微软开发技术论坛】
> WEB程序开发
> WEB 2.0技术
> 动态语言
> 移动与游戏开发
≡ 系统设计与项目管理 ≡
> 系统分析与UML
> 系统分析与UML精华区
> 项目管理
> 项目过程
> 软件测试
> 算法讨论与研究
≡ IBM软件技术园地 ≡
> IBM数据库产品
> Lotus
> Tivoli
> Websphere
> Rational
> 与SOA相关的IBM产品与技术
> IBM软件技术精英协会
> 软件技术精英活动专版
≡ 操作系统与硬件 ≡
> AIX及IBM产品【已迁移到IXPUB】
> HP-UX及HP产品【已迁移到IXPUB】
> Solaris及SUN产品【已迁移到IXPUB】
> Linux及其应用 【已迁移到IXPUB】
> 其它UNIX系统【已迁移到IXPUB】
> windows系统及微软相关产品 【已迁移到IXPUB】
> 存储设备与容灾技术 【已迁移到IXPUB】
> 服务器 【已迁移到IXPUB】
≡ 行业纵向讨论区 ≡
> IT业界评论与展望
> 政府与教育事业
> 中国政府信息主管联盟
> 电信行业
> 金融行业
> 医卫行业
> 制造行业
> 电力行业
> 信息安全与审计
≡ 会员交流 ≡
> IT职业生涯
> 招聘求职商务信息
> 旅游,驴友
> 汽车世界
> 外语角
> 数码摄影
> 你的故事我的歌
> 音乐推荐区
> 电子图书与IT文档资料
> 软件交流
> 软件交流精华区
≡ ITPUB产品与服务 ≡
> ITPUB地面活动专版
> BLOG天地
> WIKI世界
> 授权用户区
> 站务管理
≡ 微软开发技术 ≡
> 开发工具和语言
> .NET Framework 相关
> Visual Basic/VB.net
> Visual C#
> Visual C++/vc.net
> Visual Studio
> .NET软件架构与模式
> .NET开发辅助工具及框架
> Web开发
> ASP.NET与AJAX
> Web相关技术讨论(IIS等)
> Silverlight 技术
> 微软企业级产品技术
> SQL Server
> windows server
> SharePoint
> Exchange Server
> Biztalk
> 嵌入式及移动开发
> Windows Embedded 嵌入式技术
> Windows 移动设备
> Office开发
> Microsoft office system
> Office Business Application
> 微软产品用户交流区
> .Net电子书籍&&书籍介绍
> .Net人才交流
技术积分榜
社区积分榜
徽章
电子杂志
会员
团队
统计
邮箱
游乐场
帮助
TOP
CopyRight 1999-2006 itpub.net All Right Reserved.
北京皓辰广域网络信息技术有