|
本帖最后由 lyzhanhun 于 2014-6-18 20:19 编辑
〇〇 发表于 2014-6-18 09:44 ![]()
SQL> create table 5kw as
2 with t as(select level t from dual connect by level c/5/t5
1* crea ...
不知道o o是啥机器 0 0 ,我的两核笔记本跑出来是下面的结果
--达梦表名不能数字起头
SQL>create table kw5 as
2 with t as(select level t from dual connect by level<=1e4)
3 ,s as(select level s from dual connect by level<=5e3)
4 select (s-1)*1e4+t a from t,s;
操作已执行
已用时间: 00:01:59.511. 执行号:5.
SQL>
SQL>select /*+ PARALLEL(kw5 4) */ substr(a,-1,1)x,sum(a)s from kw5 a
2 group by substr(a,-1,1)
3 order by 1;
行号 X S
---------- - -------------------------
1 1 4.905000000000000E+003
2 2 4.945500000000000E+005
3 3 4.949550000000000E+007
4 4 4.949955000000000E+009
5 5 4.949995500000000E+011
6 6 4.949999550000000E+013
7 7 1.200000030000000E+015
8 E 4.500000000000000E+001
8 rows got
已用时间: 00:00:36.240. 执行号:6.
SQL>select /*+ PARALLEL(kw5 8) */ substr(a,-1,1)x,sum(a)s from kw5 a
2 group by substr(a,-1,1)
3 order by 1;
行号 X S
---------- - -------------------------
1 1 4.905000000000000E+003
2 2 4.945500000000000E+005
3 3 4.949550000000000E+007
4 4 4.949955000000000E+009
5 5 4.949995500000000E+011
6 6 4.949999550000000E+013
7 7 1.200000030000000E+015
8 E 4.500000000000000E+001
8 rows got
已用时间: 00:00:31.148. 执行号:7.
SQL>select /*+ PARALLEL(kw5 1) */ substr(a,-1,1)x,sum(a)s from kw5 a
2 group by substr(a,-1,1)
3 order by 1;
行号 X S
---------- - -------------------------
1 1 4.905000000000000E+003
2 2 4.945500000000000E+005
3 3 4.949550000000000E+007
4 4 4.949955000000000E+009
5 5 4.949995500000000E+011
6 6 4.949999550000000E+013
7 7 1.200000030000000E+015
8 E 4.500000000000000E+001
8 rows got
已用时间: 00:01:13.943. 执行号:8.
SQL>select /*+ PARALLEL(kw5 16) */ substr(a,-1,1)x,sum(a)s from kw5 a
2 group by substr(a,-1,1)
3 order by 1;
行号 X S
---------- - -------------------------
1 1 4.905000000000000E+003
2 2 4.945500000000000E+005
3 3 4.949550000000000E+007
4 4 4.949955000000000E+009
5 5 4.949995500000000E+011
6 6 4.949999550000000E+013
7 7 1.200000030000000E+015
8 E 4.500000000000000E+001
8 rows got
已用时间: 00:00:29.765. 执行号:9.
SQL>drop table kw5;
操作已执行
已用时间: 428.830(毫秒). 执行号:10.
SQL>
SQL>create table kw5 as
2 with t as(select level t from dual connect by level<=1e4)
3 ,s as(select level s from dual connect by level<=5e3)
4 select (s-1)*10000+t a from t,s;
操作已执行
已用时间: 00:01:33.621. 执行号:11.
SQL>
SQL>select /*+ PARALLEL(kw5 1) */ substr(a,-1,1)x,sum(a)s from kw5 a
2 group by substr(a,-1,1)
3 order by 1;
行号 X S
---------- - --------------------
1 0 125000025000000
2 1 124999980000000
3 2 124999985000000
4 3 124999990000000
5 4 124999995000000
6 5 125000000000000
7 6 125000005000000
8 7 125000010000000
9 8 125000015000000
10 9 125000020000000
10 rows got
已用时间: 00:00:27.699. 执行号:12.
SQL>
SQL>select /*+ PARALLEL(kw5 4) */ substr(a,-1,1)x,sum(a)s from kw5 a
2 group by substr(a,-1,1)
3 order by 1;
行号 X S
---------- - --------------------
1 0 125000025000000
2 1 124999980000000
3 2 124999985000000
4 3 124999990000000
5 4 124999995000000
6 5 125000000000000
7 6 125000005000000
8 7 125000010000000
9 8 125000015000000
10 9 125000020000000
10 rows got
已用时间: 00:00:19.027. 执行号:13.
SQL>
SQL>select /*+ PARALLEL(kw5 8) */ substr(a,-1,1)x,sum(a)s from kw5 a
2 group by substr(a,-1,1)
3 order by 1;
行号 X S
---------- - --------------------
1 0 125000025000000
2 1 124999980000000
3 2 124999985000000
4 3 124999990000000
5 4 124999995000000
6 5 125000000000000
7 6 125000005000000
8 7 125000010000000
9 8 125000015000000
10 9 125000020000000
10 rows got
已用时间: 00:00:18.697. 执行号:14.
SQL>
SQL>select /*+ PARALLEL(kw5 16) */ substr(a,-1,1)x,sum(a)s from kw5 a
2 group by substr(a,-1,1)
3 order by 1;
行号 X S
---------- - --------------------
1 0 125000025000000
2 1 124999980000000
3 2 124999985000000
4 3 124999990000000
5 4 124999995000000
6 5 125000000000000
7 6 125000005000000
8 7 125000010000000
9 8 125000015000000
10 9 125000020000000
10 rows got
已用时间: 00:00:18.224. 执行号:15.
SQL>create huge table kw5 as--列存表
2
3 with t as(select level t from dual connect by level<=1e4)
4 ,s as(select level s from dual connect by level<=5e3)
5 select (s-1)*10000+t a from t,s;
操作已执行
已用时间: 00:02:56.649. 执行号:17.
SQL>
SQL>select /*+ PARALLEL(kw5 1) */ substr(a,-1,1)x,sum(a)s from kw5 a
2 group by substr(a,-1,1)
3 order by 1;
行号 X S
---------- - --------------------
1 0 125000025000000
2 1 124999980000000
3 2 124999985000000
4 3 124999990000000
5 4 124999995000000
6 5 125000000000000
7 6 125000005000000
8 7 125000010000000
9 8 125000015000000
10 9 125000020000000
10 rows got
已用时间: 00:00:20.180. 执行号:18.
SQL>
SQL>select /*+ PARALLEL(kw5 4) */ substr(a,-1,1)x,sum(a)s from kw5 a
2 group by substr(a,-1,1)
3 order by 1;
行号 X S
---------- - --------------------
1 0 125000025000000
2 1 124999980000000
3 2 124999985000000
4 3 124999990000000
5 4 124999995000000
6 5 125000000000000
7 6 125000005000000
8 7 125000010000000
9 8 125000015000000
10 9 125000020000000
10 rows got
已用时间: 00:00:08.066. 执行号:19.
SQL>
SQL>select /*+ PARALLEL(kw5 8) */ substr(a,-1,1)x,sum(a)s from kw5 a
2 group by substr(a,-1,1)
3 order by 1;
行号 X S
---------- - --------------------
1 0 125000025000000
2 1 124999980000000
3 2 124999985000000
4 3 124999990000000
5 4 124999995000000
6 5 125000000000000
7 6 125000005000000
8 7 125000010000000
9 8 125000015000000
10 9 125000020000000
10 rows got
已用时间: 00:00:07.991. 执行号:20.
SQL>
SQL>select /*+ PARALLEL(kw5 16) */ substr(a,-1,1)x,sum(a)s from kw5 a
2 group by substr(a,-1,1)
3 order by 1;
行号 X S
---------- - --------------------
1 0 125000025000000
2 1 124999980000000
3 2 124999985000000
4 3 124999990000000
5 4 124999995000000
6 5 125000000000000
7 6 125000005000000
8 7 125000010000000
9 8 125000015000000
10 9 125000020000000
10 rows got
已用时间: 00:00:08.069. 执行号:21.
|
|