You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hawq.apache.org by en...@apache.org on 2015/12/03 22:54:53 UTC
[1/2] incubator-hawq git commit: HAWQ-148. Add new GUC
optimizer_prefer_scalar_dqa_multistage_agg to split scalar DQA into
multi-stage aggregates.
Repository: incubator-hawq
Updated Branches:
refs/heads/master 9b2f04513 -> 74d6057ee
http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/74d6057e/src/test/regress/expected/eagerfree_optimizer.out
----------------------------------------------------------------------
diff --git a/src/test/regress/expected/eagerfree_optimizer.out b/src/test/regress/expected/eagerfree_optimizer.out
index c10fa9d..bac2b36 100644
--- a/src/test/regress/expected/eagerfree_optimizer.out
+++ b/src/test/regress/expected/eagerfree_optimizer.out
@@ -17,61 +17,71 @@ from generate_series(0, 49) i;
select d, count(*) from smallt group by d;
d | count
------------+-------
- 01-13-2011 | 5
- 01-11-2011 | 5
- 01-03-2011 | 5
- 01-09-2011 | 5
- 01-15-2011 | 5
- 01-07-2011 | 5
01-01-2011 | 5
- 01-05-2011 | 5
- 01-19-2011 | 5
+ 01-09-2011 | 5
01-17-2011 | 5
+ 01-04-2011 | 5
01-12-2011 | 5
- 01-08-2011 | 5
- 01-10-2011 | 5
- 01-14-2011 | 5
01-20-2011 | 5
- 01-18-2011 | 5
- 01-04-2011 | 5
+ 01-07-2011 | 5
+ 01-15-2011 | 5
01-02-2011 | 5
+ 01-10-2011 | 5
+ 01-18-2011 | 5
+ 01-05-2011 | 5
+ 01-13-2011 | 5
+ 01-08-2011 | 5
01-16-2011 | 5
+ 01-03-2011 | 5
+ 01-11-2011 | 5
+ 01-19-2011 | 5
01-06-2011 | 5
+ 01-14-2011 | 5
(20 rows)
explain analyze select d, count(*) from smallt group by d;
- QUERY PLAN
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- Gather Motion 2:1 (slice2; segments: 2) (cost=0.00..431.01 rows=20 width=12)
- Rows out: 20 rows at destination with 15 ms to end, start offset by 0.530 ms.
- -> HashAggregate (cost=0.00..431.01 rows=10 width=12)
+ QUERY PLAN
+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+ Gather Motion 8:1 (slice2; segments: 8) (cost=0.00..431.00 rows=20 width=12)
+ Rows out: 20 rows at destination with 29 ms to first row, 30 ms to end, start offset by 0.626/0.626 ms.
+ -> GroupAggregate (cost=0.00..431.00 rows=3 width=12)
Group By: d
- Rows out: Avg 10.0 rows x 2 workers. Max 10 rows (seg0) with 11 ms to first row, 14 ms to end, start offset by 1.196 ms.
- Executor memory: 6233K bytes avg, 6233K bytes max (seg0).
- -> Redistribute Motion 2:2 (slice1; segments: 2) (cost=0.00..431.01 rows=10 width=12)
- Hash Key: d
- Rows out: Avg 10.0 rows x 2 workers at destination. Max 10 rows (seg0) with 3.252 ms to first row, 6.202 ms to end, start offset by 4.310 ms.
- -> Result (cost=0.00..431.01 rows=10 width=12)
- Rows out: Avg 10.0 rows x 2 workers. Max 10 rows (seg0) with 4.266 ms to first row, 4.308 ms to end, start offset by 6.100 ms.
- -> GroupAggregate (cost=0.00..431.01 rows=10 width=12)
- Group By: d
- Rows out: Avg 10.0 rows x 2 workers. Max 10 rows (seg0) with 4.254 ms to first row, 4.293 ms to end, start offset by 6.110 ms.
- -> Sort (cost=0.00..431.01 rows=50 width=4)
- Sort Key: d
- Rows out: Avg 50.0 rows x 2 workers. Max 50 rows (seg0) with 4.234 ms to first row, 4.245 ms to end, start offset by 6.120 ms.
- Executor memory: 29K bytes avg, 29K bytes max (seg0).
- Work_mem used: 29K bytes avg, 29K bytes max (seg0). Workfile: (0 spilling, 0 reused)
- -> Table Scan on smallt (cost=0.00..431.00 rows=50 width=4)
- Rows out: Avg 50.0 rows x 2 workers. Max 50 rows (seg0) with 4.123 ms to first row, 4.148 ms to end, start offset by 6.165 ms.
+ Rows out: Avg 2.5 rows x 8 workers. Max/Last(seg0:xzhangmac/seg6:xzhangmac) 3/3 rows with 17/26 ms to end, start offset by 13/3.963 ms.
+ -> Sort (cost=0.00..431.00 rows=3 width=12)
+ Sort Key: d
+ Rows out: Avg 2.5 rows x 8 workers. Max/Last(seg0:xzhangmac/seg6:xzhangmac) 3/3 rows with 17/26 ms to end, start offset by 13/3.964 ms.
+ Executor memory: 61K bytes avg, 61K bytes max (seg0:xzhangmac).
+ Work_mem used: 61K bytes avg, 61K bytes max (seg0:xzhangmac). Workfile: (0 spilling, 0 reused)
+ -> Redistribute Motion 8:8 (slice1; segments: 8) (cost=0.00..431.00 rows=3 width=12)
+ Hash Key: d
+ Rows out: Avg 2.5 rows x 8 workers at destination. Max/Last(seg0:xzhangmac/seg1:xzhangmac) 3/3 rows with 4.952/13 ms to first row, 16/24 ms to end, start offset by 14/5.650 ms.
+ -> Result (cost=0.00..431.00 rows=3 width=12)
+ Rows out: Avg 2.5 rows x 8 workers. Max/Last(seg2:xzhangmac/seg3:xzhangmac) 4/2 rows with 12/16 ms to end, start offset by 4.009/6.031 ms.
+ -> GroupAggregate (cost=0.00..431.00 rows=3 width=12)
+ Group By: d
+ Rows out: Avg 2.5 rows x 8 workers. Max/Last(seg2:xzhangmac/seg3:xzhangmac) 4/2 rows with 12/16 ms to end, start offset by 4.010/6.031 ms.
+ -> Sort (cost=0.00..431.00 rows=13 width=4)
+ Sort Key: d
+ Rows out: Avg 12.5 rows x 8 workers. Max/Last(seg2:xzhangmac/seg3:xzhangmac) 20/10 rows with 12/16 ms to end, start offset by 4.010/6.031 ms.
+ Executor memory: 61K bytes avg, 61K bytes max (seg0:xzhangmac).
+ Work_mem used: 61K bytes avg, 61K bytes max (seg0:xzhangmac). Workfile: (0 spilling, 0 reused)
+ -> Table Scan on smallt (cost=0.00..431.00 rows=13 width=4)
+ Rows out: Avg 12.5 rows x 8 workers. Max/Last(seg2:xzhangmac/seg3:xzhangmac) 20/10 rows with 11/15 ms to end, start offset by 4.825/6.993 ms.
Slice statistics:
- (slice0) Executor memory: 159K bytes.
- (slice1) Executor memory: 195K bytes avg x 2 workers, 195K bytes max (seg0). Work_mem: 29K bytes max.
- (slice2) Executor memory: 6401K bytes avg x 2 workers, 6403K bytes max (seg1).
+ (slice0) Executor memory: 223K bytes.
+ (slice1) Executor memory: 367K bytes avg x 8 workers, 379K bytes max (seg2:xzhangmac). Work_mem: 61K bytes max.
+ (slice2) Executor memory: 211K bytes avg x 8 workers, 211K bytes max (seg0:xzhangmac). Work_mem: 61K bytes max.
Statement statistics:
- Memory used: 128000K bytes
- Settings: optimizer=on; optimizer_segments=3
- Total runtime: 16.157 ms
-(29 rows)
+ Memory used: 131072K bytes
+ Settings: default_segment_num=8
+ Optimizer status: PQO version 1.611
+ Dispatcher statistics:
+ executors used(total/cached/new connection): (16/16/0); dispatcher time(total/connection/dispatch data): (0.270 ms/0.000 ms/0.133 ms).
+ dispatch data time(max/min/avg): (0.028 ms/0.005 ms/0.008 ms); consume executor data time(max/min/avg): (0.034 ms/0.003 ms/0.011 ms); free executor time(max/min/avg): (0.000 ms/0.000 ms/0.000 ms).
+ Data locality statistics:
+ data locality ratio: 1.000; virtual segment number: 8; different host number: 1; virtual segment number per host(avg/min/max): (8/8/8); segment size(avg/min/max): (352.000/288/544); segment size with penalty(avg/min/max): (0.000/0/0); continuity(avg/min/max): (1.000/1.000/1.000).
+ Total runtime: 31.105 ms
+(39 rows)
set statement_mem=2560;
select count(*) from (select i, t, d, count(*) from bigt group by i, t, d) tmp;
@@ -81,33 +91,34 @@ select count(*) from (select i, t, d, count(*) from bigt group by i, t, d) tmp;
(1 row)
explain analyze select count(*) from (select i, t, d, count(*) from bigt group by i, t, d) tmp;
- QUERY PLAN
-------------------------------------------------------------------------------------------------------------------------------------------------------------------
- Aggregate (cost=0.00..576.20 rows=1 width=8)
- Rows out: 1 rows with 1095 ms to end, start offset by 0.505 ms.
- -> Gather Motion 2:1 (slice1; segments: 2) (cost=0.00..576.20 rows=1 width=8)
- Rows out: 2 rows at destination with 1090 ms to first row, 1095 ms to end, start offset by 0.516 ms.
- -> Aggregate (cost=0.00..576.20 rows=1 width=8)
- Rows out: Avg 1.0 rows x 2 workers. Max 1 rows (seg0) with 1094 ms to end, start offset by 1.056 ms.
- -> HashAggregate (cost=0.00..576.20 rows=500588 width=1)
+ QUERY PLAN
+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+ Aggregate (cost=0.00..482.50 rows=1 width=8)
+ Rows out: 1 rows with 571 ms to end, start offset by 0.617/0.617 ms.
+ -> Gather Motion 8:1 (slice1; segments: 8) (cost=0.00..482.50 rows=1 width=8)
+ Rows out: 8 rows at destination with 523 ms to first row, 571 ms to end, start offset by 0.619/0.619 ms.
+ -> Aggregate (cost=0.00..482.50 rows=1 width=8)
+ Rows out: Avg 1.0 rows x 8 workers. Max/Last(seg0:xzhangmac/seg2:xzhangmac) 1/1 rows with 536/566 ms to end, start offset by 9.635/5.295 ms.
+ -> HashAggregate (cost=0.00..482.50 rows=125000 width=1)
Group By: i, t, d
- Rows out: Avg 66666.5 rows x 2 workers. Max 66668 rows (seg1) with 968 ms to first row, 1072 ms to end, start offset by 1.065 ms.
- Executor memory: 2954K bytes avg, 2954K bytes max (seg0).
- Work_mem used: 2461K bytes avg, 2461K bytes max (seg0). Workfile: (2 spilling, 0 reused)
- Work_mem wanted: 6035K bytes avg, 6035K bytes max (seg1) to lessen workfile I/O affecting 2 workers.
- (seg1) 66668 groups total in 32 batches; 1 overflows; 66668 spill groups.
- (seg1) Hash chain length 1.2 avg, 8 max, using 86654 of 1081344 buckets.
- -> Table Scan on bigt (cost=0.00..444.58 rows=500588 width=18)
- Rows out: Avg 500000.0 rows x 2 workers. Max 500000 rows (seg0) with 0.043 ms to first row, 114 ms to end, start offset by 1.140 ms.
+ Rows out: Avg 16666.6 rows x 8 workers. Max/Last(seg6:xzhangmac/seg2:xzhangmac) 16670/16663 rows with 504/539 ms to first row, 542/562 ms to end, start offset by 5.493/5.296 ms.
+ Executor memory: 25609K bytes avg, 25609K bytes max (seg0:xzhangmac).
+ -> Table Scan on bigt (cost=0.00..433.20 rows=125000 width=18)
+ Rows out: Avg 125000.0 rows x 8 workers. Max/Last(seg0:xzhangmac/seg1:xzhangmac) 125000/125000 rows with 19/15 ms to first row, 122/154 ms to end, start offset by 25/21 ms.
Slice statistics:
- (slice0) Executor memory: 159K bytes.
- (slice1) * Executor memory: 3112K bytes avg x 2 workers, 3112K bytes max (seg0). Work_mem: 2461K bytes max, 6035K bytes wanted.
+ (slice0) Executor memory: 223K bytes.
+ (slice1) Executor memory: 25887K bytes avg x 8 workers, 25887K bytes max (seg0:xzhangmac).
Statement statistics:
- Memory used: 2560K bytes
- Memory wanted: 6434K bytes
- Settings: optimizer=on; optimizer_segments=3
- Total runtime: 1096.543 ms
-(24 rows)
+ Memory used: 131072K bytes
+ Settings: default_segment_num=8
+ Optimizer status: PQO version 1.611
+ Dispatcher statistics:
+ executors used(total/cached/new connection): (8/8/0); dispatcher time(total/connection/dispatch data): (0.235 ms/0.000 ms/0.128 ms).
+ dispatch data time(max/min/avg): (0.032 ms/0.008 ms/0.015 ms); consume executor data time(max/min/avg): (0.020 ms/0.011 ms/0.015 ms); free executor time(max/min/avg): (0.000 ms/0.000 ms/0.000 ms).
+ Data locality statistics:
+ data locality ratio: 1.000; virtual segment number: 8; different host number: 1; virtual segment number per host(avg/min/max): (8/8/8); segment size(avg/min/max): (4103280.000/4103280/4103280); segment size with penalty(avg/min/max): (0.000/0/0); continuity(avg/min/max): (1.000/1.000/1.000).
+ Total runtime: 571.627 ms
+(25 rows)
set statement_mem=128000;
-- DQA
@@ -120,30 +131,48 @@ select count(distinct d) from smallt;
(1 row)
explain analyze select count(distinct d) from smallt;
- QUERY PLAN
----------------------------------------------------------------------------------------------------------------------------------------------------------------------
+ QUERY PLAN
+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Aggregate (cost=0.00..431.00 rows=1 width=8)
- Rows out: 1 rows with 8.009 ms to end, start offset by 0.685 ms.
- -> Gather Motion 2:1 (slice2; segments: 2) (cost=0.00..431.00 rows=1 width=8)
- Rows out: 2 rows at destination with 7.824 ms to first row, 7.984 ms to end, start offset by 0.701 ms.
- -> Aggregate (cost=0.00..431.00 rows=1 width=8)
- Rows out: Avg 1.0 rows x 2 workers. Max 1 rows (seg0) with 7.330 ms to end, start offset by 1.263 ms.
- Executor memory: 29K bytes avg, 29K bytes max (seg0).
- Work_mem used: 29K bytes avg, 29K bytes max (seg0).
- -> Redistribute Motion 2:2 (slice1; segments: 2) (cost=0.00..431.00 rows=50 width=4)
- Hash Key: d
- Rows out: Avg 50.0 rows x 2 workers at destination. Max 50 rows (seg0) with 7.205 ms to first row, 7.224 ms to end, start offset by 1.274 ms.
- -> Table Scan on smallt (cost=0.00..431.00 rows=50 width=4)
- Rows out: Avg 50.0 rows x 2 workers. Max 50 rows (seg0) with 3.747 ms to first row, 3.770 ms to end, start offset by 4.187 ms.
+ Rows out: 1 rows with 31 ms to end, start offset by 0.566/0.566 ms.
+ -> Gather Motion 8:1 (slice2; segments: 8) (cost=0.00..431.00 rows=20 width=4)
+ Rows out: 20 rows at destination with 31 ms to end, start offset by 0.567/0.567 ms.
+ -> GroupAggregate (cost=0.00..431.00 rows=3 width=4)
+ Group By: d
+ Rows out: Avg 2.5 rows x 8 workers. Max/Last(seg0:xzhangmac/seg7:xzhangmac) 3/2 rows with 22/28 ms to end, start offset by 10/4.188 ms.
+ -> Sort (cost=0.00..431.00 rows=3 width=4)
+ Sort Key: d
+ Rows out: Avg 2.5 rows x 8 workers. Max/Last(seg0:xzhangmac/seg7:xzhangmac) 3/2 rows with 22/28 ms to end, start offset by 10/4.189 ms.
+ Executor memory: 61K bytes avg, 61K bytes max (seg0:xzhangmac).
+ Work_mem used: 61K bytes avg, 61K bytes max (seg0:xzhangmac). Workfile: (0 spilling, 0 reused)
+ -> Redistribute Motion 8:8 (slice1; segments: 8) (cost=0.00..431.00 rows=3 width=4)
+ Hash Key: d
+ Rows out: Avg 2.5 rows x 8 workers at destination. Max/Last(seg0:xzhangmac/seg7:xzhangmac) 3/2 rows with 18/22 ms to first row, 21/27 ms to end, start offset by 11/5.183 ms.
+ -> GroupAggregate (cost=0.00..431.00 rows=3 width=4)
+ Group By: d
+ Rows out: Avg 2.5 rows x 8 workers. Max/Last(seg2:xzhangmac/seg5:xzhangmac) 4/4 rows with 18/20 ms to end, start offset by 13/11 ms.
+ -> Sort (cost=0.00..431.00 rows=13 width=4)
+ Sort Key: d
+ Rows out: Avg 12.5 rows x 8 workers. Max/Last(seg2:xzhangmac/seg5:xzhangmac) 20/20 rows with 18/20 ms to end, start offset by 13/11 ms.
+ Executor memory: 61K bytes avg, 61K bytes max (seg0:xzhangmac).
+ Work_mem used: 61K bytes avg, 61K bytes max (seg0:xzhangmac). Workfile: (0 spilling, 0 reused)
+ -> Table Scan on smallt (cost=0.00..431.00 rows=13 width=4)
+ Rows out: Avg 12.5 rows x 8 workers. Max/Last(seg2:xzhangmac/seg5:xzhangmac) 20/20 rows with 17/18 ms to end, start offset by 14/12 ms.
Slice statistics:
- (slice0) Executor memory: 159K bytes.
- (slice1) Executor memory: 191K bytes avg x 2 workers, 191K bytes max (seg0).
- (slice2) Executor memory: 199K bytes avg x 2 workers, 199K bytes max (seg0). Work_mem: 29K bytes max.
+ (slice0) Executor memory: 223K bytes.
+ (slice1) Executor memory: 367K bytes avg x 8 workers, 379K bytes max (seg2:xzhangmac). Work_mem: 61K bytes max.
+ (slice2) Executor memory: 211K bytes avg x 8 workers, 211K bytes max (seg0:xzhangmac). Work_mem: 61K bytes max.
Statement statistics:
- Memory used: 128000K bytes
- Settings: gp_enable_agg_distinct=off; optimizer=on; optimizer_segments=3
- Total runtime: 9.346 ms
-(21 rows)
+ Memory used: 131072K bytes
+ Settings: default_segment_num=8; gp_enable_agg_distinct=off
+ Optimizer status: PQO version 1.611
+ Dispatcher statistics:
+ executors used(total/cached/new connection): (16/16/0); dispatcher time(total/connection/dispatch data): (0.264 ms/0.000 ms/0.129 ms).
+ dispatch data time(max/min/avg): (0.021 ms/0.005 ms/0.008 ms); consume executor data time(max/min/avg): (0.021 ms/0.005 ms/0.013 ms); free executor time(max/min/avg): (0.000 ms/0.000 ms/0.000 ms).
+ Data locality statistics:
+ data locality ratio: 1.000; virtual segment number: 8; different host number: 1; virtual segment number per host(avg/min/max): (8/8/8); segment size(avg/min/max): (352.000/288/544); segment size with penalty(avg/min/max): (0.000/0/0); continuity(avg/min/max): (1.000/1.000/1.000).
+ Total runtime: 32.795 ms
+(39 rows)
set statement_mem=2560;
select count(distinct d) from bigt;
@@ -153,40 +182,45 @@ select count(distinct d) from bigt;
(1 row)
explain analyze select count(distinct d) from bigt;
- QUERY PLAN
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- Aggregate (cost=0.00..451.39 rows=1 width=8)
- Rows out: 1 rows with 3480 ms to end, start offset by 0.455 ms.
- -> Gather Motion 2:1 (slice2; segments: 2) (cost=0.00..451.39 rows=1 width=8)
- Rows out: 2 rows at destination with 3431 ms to first row, 3480 ms to end, start offset by 0.466 ms.
- -> Aggregate (cost=0.00..451.39 rows=1 width=8)
- Rows out: Avg 1.0 rows x 2 workers. Max 1 rows (seg0) with 3430 ms to end, start offset by 1.152 ms.
- Executor memory: 2585K bytes avg, 2585K bytes max (seg0).
- Work_mem used: 2585K bytes avg, 2585K bytes max (seg0).
- Work_mem wanted: 9799K bytes avg, 9799K bytes max (seg0) to lessen workfile I/O affecting 2 workers.
- -> Redistribute Motion 2:2 (slice1; segments: 2) (cost=0.00..451.24 rows=500588 width=4)
+ QUERY PLAN
+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+ Aggregate (cost=0.00..450.75 rows=1 width=8)
+ Rows out: 1 rows with 497 ms to end, start offset by 0.668/0.668 ms.
+ -> Gather Motion 8:1 (slice2; segments: 8) (cost=0.00..450.72 rows=49674 width=4)
+ Rows out: 50000 rows at destination with 416 ms to first row, 481 ms to end, start offset by 0.669/0.669 ms.
+ -> HashAggregate (cost=0.00..450.17 rows=6210 width=4)
+ Group By: d
+ Rows out: Avg 6250.0 rows x 8 workers. Max/Last(seg1:xzhangmac/seg1:xzhangmac) 6251/6251 rows with 425/425 ms to first row, 435/435 ms to end, start offset by 4.375/4.375 ms.
+ Executor memory: 12489K bytes avg, 12489K bytes max (seg0:xzhangmac).
+ -> Redistribute Motion 8:8 (slice1; segments: 8) (cost=0.00..449.41 rows=6210 width=4)
Hash Key: d
- Rows out: Avg 500000.0 rows x 2 workers at destination. Max 500000 rows (seg0) with 8.472 ms to first row, 1049 ms to end, start offset by 1.157 ms.
- -> Table Scan on bigt (cost=0.00..444.58 rows=500588 width=4)
- Rows out: Avg 500000.0 rows x 2 workers. Max 500000 rows (seg0) with 2.335 ms to first row, 356 ms to end, start offset by 3.593 ms.
+ Rows out: Avg 12500.0 rows x 8 workers at destination. Max/Last(seg1:xzhangmac/seg1:xzhangmac) 12502/12502 rows with 246/246 ms to first row, 400/400 ms to end, start offset by 12/12 ms.
+ -> HashAggregate (cost=0.00..449.33 rows=6210 width=4)
+ Group By: d
+ Rows out: Avg 12500.0 rows x 8 workers. Max/Last(seg0:xzhangmac/seg2:xzhangmac) 12500/12500 rows with 243/356 ms to first row, 269/376 ms to end, start offset by 4.374/18 ms.
+ Executor memory: 12681K bytes avg, 12681K bytes max (seg0:xzhangmac).
+ -> Table Scan on bigt (cost=0.00..433.20 rows=125000 width=4)
+ Rows out: Avg 125000.0 rows x 8 workers. Max/Last(seg0:xzhangmac/seg2:xzhangmac) 125000/125000 rows with 11/24 ms to first row, 127/212 ms to end, start offset by 11/27 ms.
Slice statistics:
- (slice0) Executor memory: 159K bytes.
- (slice1) Executor memory: 199K bytes avg x 2 workers, 199K bytes max (seg0).
- (slice2) * Executor memory: 2859K bytes avg x 2 workers, 2859K bytes max (seg0). Work_mem: 2585K bytes max, 9799K bytes wanted.
+ (slice0) Executor memory: 331K bytes.
+ (slice1) Executor memory: 13015K bytes avg x 8 workers, 13015K bytes max (seg0:xzhangmac).
+ (slice2) Executor memory: 12771K bytes avg x 8 workers, 12771K bytes max (seg0:xzhangmac).
Statement statistics:
- Memory used: 2560K bytes
- Memory wanted: 10198K bytes
- Settings: gp_enable_agg_distinct=off; optimizer=on; optimizer_segments=3
- Total runtime: 3480.749 ms
-(23 rows)
+ Memory used: 131072K bytes
+ Settings: default_segment_num=8; gp_enable_agg_distinct=off
+ Optimizer status: PQO version 1.611
+ Dispatcher statistics:
+ executors used(total/cached/new connection): (16/16/0); dispatcher time(total/connection/dispatch data): (0.279 ms/0.000 ms/0.142 ms).
+ dispatch data time(max/min/avg): (0.018 ms/0.005 ms/0.009 ms); consume executor data time(max/min/avg): (0.049 ms/0.008 ms/0.018 ms); free executor time(max/min/avg): (0.000 ms/0.000 ms/0.000 ms).
+ Data locality statistics:
+ data locality ratio: 1.000; virtual segment number: 8; different host number: 1; virtual segment number per host(avg/min/max): (8/8/8); segment size(avg/min/max): (4103280.000/4103280/4103280); segment size with penalty(avg/min/max): (0.000/0/0); continuity(avg/min/max): (1.000/1.000/1.000).
+ Total runtime: 497.994 ms
+(31 rows)
set statement_mem=128000;
set gp_enable_agg_distinct=on;
set gp_eager_one_phase_agg=off;
-- Rescan on Agg (with Material in the inner side of nestloop)
--- start_ignore
--- Known_opt_diff: This test is only here for the planner. It doesn't exercise eagerfree in ORCA plans
--- end_ignore
set enable_nestloop=on;
set enable_hashjoin=off;
select t1.*, t2.* from
@@ -194,94 +228,105 @@ select t1.*, t2.* from
where t1.d = t2.d;
d | count | d | sum
------------+-------+------------+-----
- 01-13-2011 | 5 | 01-13-2011 | 10
- 01-11-2011 | 5 | 01-11-2011 | 0
- 01-15-2011 | 5 | 01-15-2011 | 20
- 01-07-2011 | 5 | 01-07-2011 | 30
01-01-2011 | 5 | 01-01-2011 | 0
- 01-03-2011 | 5 | 01-03-2011 | 10
- 01-05-2011 | 5 | 01-05-2011 | 20
01-09-2011 | 5 | 01-09-2011 | 40
- 01-19-2011 | 5 | 01-19-2011 | 40
01-17-2011 | 5 | 01-17-2011 | 30
- 01-18-2011 | 5 | 01-18-2011 | 35
- 01-12-2011 | 5 | 01-12-2011 | 5
01-04-2011 | 5 | 01-04-2011 | 15
- 01-08-2011 | 5 | 01-08-2011 | 35
+ 01-12-2011 | 5 | 01-12-2011 | 5
+ 01-20-2011 | 5 | 01-20-2011 | 45
01-02-2011 | 5 | 01-02-2011 | 5
01-10-2011 | 5 | 01-10-2011 | 45
- 01-14-2011 | 5 | 01-14-2011 | 15
+ 01-18-2011 | 5 | 01-18-2011 | 35
+ 01-07-2011 | 5 | 01-07-2011 | 30
+ 01-15-2011 | 5 | 01-15-2011 | 20
+ 01-08-2011 | 5 | 01-08-2011 | 35
01-16-2011 | 5 | 01-16-2011 | 25
- 01-20-2011 | 5 | 01-20-2011 | 45
+ 01-05-2011 | 5 | 01-05-2011 | 20
+ 01-13-2011 | 5 | 01-13-2011 | 10
+ 01-03-2011 | 5 | 01-03-2011 | 10
+ 01-11-2011 | 5 | 01-11-2011 | 0
+ 01-19-2011 | 5 | 01-19-2011 | 40
01-06-2011 | 5 | 01-06-2011 | 25
+ 01-14-2011 | 5 | 01-14-2011 | 15
(20 rows)
explain analyze select t1.*, t2.* from
(select d, count(*) from smallt group by d) as t1, (select d, sum(i) from smallt group by d) as t2
where t1.d = t2.d;
- QUERY PLAN
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- Gather Motion 2:1 (slice3; segments: 2) (cost=0.00..862.02 rows=20 width=24)
- Rows out: 20 rows at destination with 32 ms to first row, 33 ms to end, start offset by 1.248 ms.
- -> Hash Join (cost=0.00..862.02 rows=10 width=24)
+ QUERY PLAN
+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+ Gather Motion 8:1 (slice3; segments: 8) (cost=0.00..862.01 rows=20 width=24)
+ Rows out: 20 rows at destination with 49 ms to end, start offset by 0.955/0.955 ms.
+ -> Hash Join (cost=0.00..862.01 rows=3 width=24)
Hash Cond: public.smallt.d = public.smallt.d
- Rows out: Avg 10.0 rows x 2 workers. Max 10 rows (seg0) with 28 ms to first row, 30 ms to end, start offset by 2.633 ms.
- Executor memory: 1K bytes avg, 1K bytes max (seg0).
- Work_mem used: 1K bytes avg, 1K bytes max (seg0). Workfile: (0 spilling, 0 reused)
- (seg0) Hash chain length 1.0 avg, 1 max, using 10 of 131111 buckets.
- -> HashAggregate (cost=0.00..431.01 rows=10 width=12)
+ Rows out: Avg 2.5 rows x 8 workers. Max/Last(seg0:xzhangmac/seg6:xzhangmac) 3/3 rows with 38/42 ms to first row, 39/43 ms to end, start offset by 10/7.087 ms.
+ Executor memory: 1K bytes avg, 1K bytes max (seg0:xzhangmac).
+ Work_mem used: 1K bytes avg, 1K bytes max (seg0:xzhangmac). Workfile: (0 spilling, 0 reused)
+ (seg0) Hash chain length 1.0 avg, 1 max, using 3 of 131111 buckets.
+ -> GroupAggregate (cost=0.00..431.00 rows=3 width=12)
Group By: public.smallt.d
- Rows out: Avg 10.0 rows x 2 workers. Max 10 rows (seg0) with 1.442 ms to first row, 3.036 ms to end, start offset by 29 ms.
- Executor memory: 3161K bytes avg, 3161K bytes max (seg0).
- -> Redistribute Motion 2:2 (slice1; segments: 2) (cost=0.00..431.01 rows=10 width=12)
- Hash Key: public.smallt.d
- Rows out: Avg 10.0 rows x 2 workers at destination. Max 10 rows (seg0) with 0.050 ms to first row, 0.057 ms to end, start offset by 30 ms.
- -> Result (cost=0.00..431.01 rows=10 width=12)
- Rows out: Avg 10.0 rows x 2 workers. Max 10 rows (seg0) with 5.577 ms to first row, 5.650 ms to end, start offset by 19 ms.
- -> GroupAggregate (cost=0.00..431.01 rows=10 width=12)
- Group By: public.smallt.d
- Rows out: Avg 10.0 rows x 2 workers. Max 10 rows (seg0) with 5.567 ms to first row, 5.634 ms to end, start offset by 19 ms.
- -> Sort (cost=0.00..431.01 rows=50 width=4)
- Sort Key: public.smallt.d
- Rows out: Avg 50.0 rows x 2 workers. Max 50 rows (seg0) with 5.540 ms to first row, 5.562 ms to end, start offset by 19 ms.
- Executor memory: 29K bytes avg, 29K bytes max (seg0).
- Work_mem used: 29K bytes avg, 29K bytes max (seg0). Workfile: (0 spilling, 0 reused)
- -> Table Scan on smallt (cost=0.00..431.00 rows=50 width=4)
- Rows out: Avg 50.0 rows x 2 workers. Max 50 rows (seg0) with 5.346 ms to first row, 5.383 ms to end, start offset by 19 ms.
- -> Hash (cost=431.01..431.01 rows=10 width=12)
- Rows in: Avg 10.0 rows x 2 workers. Max 10 rows (seg0) with 26 ms to end, start offset by 2.983 ms.
- -> HashAggregate (cost=0.00..431.01 rows=10 width=12)
- Group By: public.smallt.d
- Rows out: Avg 10.0 rows x 2 workers. Max 10 rows (seg0) with 24 ms to first row, 26 ms to end, start offset by 2.984 ms.
- Executor memory: 3161K bytes avg, 3161K bytes max (seg0).
- -> Redistribute Motion 2:2 (slice2; segments: 2) (cost=0.00..431.01 rows=10 width=12)
+ Rows out: Avg 2.5 rows x 8 workers. Max/Last(seg0:xzhangmac/seg0:xzhangmac) 3/3 rows with 1.511/1.511 ms to first row, 1.515/1.515 ms to end, start offset by 47/47 ms.
+ -> Sort (cost=0.00..431.00 rows=3 width=12)
+ Sort Key: public.smallt.d
+ Rows out: Avg 2.5 rows x 8 workers. Max/Last(seg0:xzhangmac/seg0:xzhangmac) 3/3 rows with 1.505/1.505 ms to first row, 1.506/1.506 ms to end, start offset by 47/47 ms.
+ Executor memory: 29K bytes avg, 29K bytes max (seg0:xzhangmac).
+ Work_mem used: 29K bytes avg, 29K bytes max (seg0:xzhangmac). Workfile: (0 spilling, 0 reused)
+ -> Redistribute Motion 8:8 (slice1; segments: 8) (cost=0.00..431.00 rows=3 width=12)
Hash Key: public.smallt.d
- Rows out: Avg 10.0 rows x 2 workers at destination. Max 10 rows (seg0) with 21 ms to first row, 23 ms to end, start offset by 3.624 ms.
- -> Result (cost=0.00..431.01 rows=10 width=12)
- Rows out: Avg 10.0 rows x 2 workers. Max 10 rows (seg0) with 6.176 ms to first row, 7.762 ms to end, start offset by 18 ms.
- -> HashAggregate (cost=0.00..431.01 rows=10 width=12)
+ Rows out: Avg 2.5 rows x 8 workers at destination. Max/Last(seg0:xzhangmac/seg7:xzhangmac) 3/2 rows with 0.015/0.009 ms to first row, 1.469/1.470 ms to end, start offset by 47/48 ms.
+ -> Result (cost=0.00..431.00 rows=3 width=12)
+ Rows out: Avg 2.5 rows x 8 workers. Max/Last(seg2:xzhangmac/seg4:xzhangmac) 4/2 rows with 12/16 ms to end, start offset by 32/29 ms.
+ -> GroupAggregate (cost=0.00..431.00 rows=3 width=12)
Group By: public.smallt.d
- Rows out: Avg 10.0 rows x 2 workers. Max 10 rows (seg0) with 6.163 ms to first row, 7.745 ms to end, start offset by 18 ms.
- Executor memory: 3161K bytes avg, 3161K bytes max (seg0).
- -> Table Scan on smallt (cost=0.00..431.00 rows=50 width=8)
- Rows out: Avg 50.0 rows x 2 workers. Max 50 rows (seg0) with 4.436 ms to first row, 4.472 ms to end, start offset by 19 ms.
+ Rows out: Avg 2.5 rows x 8 workers. Max/Last(seg2:xzhangmac/seg4:xzhangmac) 4/2 rows with 12/16 ms to end, start offset by 32/29 ms.
+ -> Sort (cost=0.00..431.00 rows=13 width=4)
+ Sort Key: public.smallt.d
+ Rows out: Avg 12.5 rows x 8 workers. Max/Last(seg2:xzhangmac/seg4:xzhangmac) 20/10 rows with 12/16 ms to end, start offset by 32/29 ms.
+ Executor memory: 61K bytes avg, 61K bytes max (seg0:xzhangmac).
+ Work_mem used: 61K bytes avg, 61K bytes max (seg0:xzhangmac). Workfile: (0 spilling, 0 reused)
+ -> Table Scan on smallt (cost=0.00..431.00 rows=13 width=4)
+ Rows out: Avg 12.5 rows x 8 workers. Max/Last(seg2:xzhangmac/seg4:xzhangmac) 20/10 rows with 12/16 ms to end, start offset by 32/29 ms.
+ -> Hash (cost=431.00..431.00 rows=3 width=12)
+ Rows in: Avg 2.5 rows x 8 workers. Max/Last(seg0:xzhangmac/seg6:xzhangmac) 3/3 rows with 37/40 ms to end, start offset by 10/7.264 ms.
+ -> GroupAggregate (cost=0.00..431.00 rows=3 width=12)
+ Group By: public.smallt.d
+ Rows out: Avg 2.5 rows x 8 workers. Max/Last(seg0:xzhangmac/seg6:xzhangmac) 3/3 rows with 37/40 ms to end, start offset by 10/7.265 ms.
+ -> Sort (cost=0.00..431.00 rows=3 width=12)
+ Sort Key: public.smallt.d
+ Rows out: Avg 2.5 rows x 8 workers. Max/Last(seg0:xzhangmac/seg6:xzhangmac) 3/3 rows with 36/40 ms to end, start offset by 10/7.265 ms.
+ Executor memory: 61K bytes avg, 61K bytes max (seg0:xzhangmac).
+ Work_mem used: 61K bytes avg, 61K bytes max (seg0:xzhangmac). Workfile: (0 spilling, 0 reused)
+ -> Redistribute Motion 8:8 (slice2; segments: 8) (cost=0.00..431.00 rows=3 width=12)
+ Hash Key: public.smallt.d
+ Rows out: Avg 2.5 rows x 8 workers at destination. Max/Last(seg0:xzhangmac/seg6:xzhangmac) 3/3 rows with 13/19 ms to first row, 36/40 ms to end, start offset by 11/7.339 ms.
+ -> Result (cost=0.00..431.00 rows=3 width=12)
+ Rows out: Avg 2.5 rows x 8 workers. Max/Last(seg2:xzhangmac/seg2:xzhangmac) 4/4 rows with 13/13 ms to first row, 14/14 ms to end, start offset by 9.763/9.763 ms.
+ -> HashAggregate (cost=0.00..431.00 rows=3 width=12)
+ Group By: public.smallt.d
+ Rows out: Avg 2.5 rows x 8 workers. Max/Last(seg2:xzhangmac/seg2:xzhangmac) 4/4 rows with 13/13 ms to first row, 14/14 ms to end, start offset by 9.763/9.763 ms.
+ Executor memory: 3161K bytes avg, 3161K bytes max (seg0:xzhangmac).
+ -> Table Scan on smallt (cost=0.00..431.00 rows=13 width=8)
+ Rows out: Avg 12.5 rows x 8 workers. Max/Last(seg2:xzhangmac/seg2:xzhangmac) 20/20 rows with 11/11 ms to end, start offset by 10/10 ms.
Slice statistics:
- (slice0) Executor memory: 227K bytes.
- (slice1) Executor memory: 263K bytes avg x 2 workers, 263K bytes max (seg0). Work_mem: 29K bytes max.
- (slice2) Executor memory: 3395K bytes avg x 2 workers, 3395K bytes max (seg0).
- (slice3) Executor memory: 4963K bytes avg x 2 workers, 4963K bytes max (seg0). Work_mem: 1K bytes max.
+ (slice0) Executor memory: 364K bytes.
+ (slice1) Executor memory: 431K bytes avg x 8 workers, 431K bytes max (seg0:xzhangmac). Work_mem: 61K bytes max.
+ (slice2) Executor memory: 3563K bytes avg x 8 workers, 3563K bytes max (seg0:xzhangmac).
+ (slice3) Executor memory: 1843K bytes avg x 8 workers, 1843K bytes max (seg0:xzhangmac). Work_mem: 61K bytes max.
Statement statistics:
- Memory used: 128000K bytes
- Settings: enable_hashjoin=off; enable_nestloop=on; gp_enable_agg_distinct=on; optimizer=on; optimizer_segments=3
- Total runtime: 34.720 ms
-(53 rows)
+ Memory used: 131072K bytes
+ Settings: default_segment_num=8; enable_hashjoin=off; enable_nestloop=on; gp_enable_agg_distinct=on
+ Optimizer status: PQO version 1.611
+ Dispatcher statistics:
+ executors used(total/cached/new connection): (24/24/0); dispatcher time(total/connection/dispatch data): (0.374 ms/0.000 ms/0.205 ms).
+ dispatch data time(max/min/avg): (0.024 ms/0.005 ms/0.008 ms); consume executor data time(max/min/avg): (0.019 ms/0.004 ms/0.010 ms); free executor time(max/min/avg): (0.000 ms/0.000 ms/0.000 ms).
+ Data locality statistics:
+ data locality ratio: 1.000; virtual segment number: 8; different host number: 1; virtual segment number per host(avg/min/max): (8/8/8); segment size(avg/min/max): (352.000/288/544); segment size with penalty(avg/min/max): (0.000/0/0); continuity(avg/min/max): (1.000/1.000/1.000).
+ Total runtime: 51.323 ms
+(67 rows)
set enable_nestloop=off;
set enable_hashjoin=on;
-- Rescan on Agg (with Material in the inner side of nestloop)
--- start_ignore
--- Known_opt_diff: This test is only here for the planner. It doesn't exercise eagerfree in ORCA plans
--- end_ignore
set enable_nestloop=on;
set enable_hashjoin=off;
select t1.*, t2.* from
@@ -289,61 +334,67 @@ select t1.*, t2.* from
where t1.i = t2.i;
i | count | i | sum
---+-------+---+-----
- 1 | 10 | 1 | 10
- 3 | 10 | 3 | 30
5 | 10 | 5 | 50
+ 6 | 10 | 6 | 60
+ 0 | 10 | 0 | 0
+ 8 | 10 | 8 | 80
7 | 10 | 7 | 70
+ 1 | 10 | 1 | 10
9 | 10 | 9 | 90
- 0 | 10 | 0 | 0
- 2 | 10 | 2 | 20
+ 3 | 10 | 3 | 30
4 | 10 | 4 | 40
- 6 | 10 | 6 | 60
- 8 | 10 | 8 | 80
+ 2 | 10 | 2 | 20
(10 rows)
explain analyze select t1.*, t2.* from
(select i, count(*) from smallt group by i) as t1, (select i, sum(i) from smallt group by i) as t2
where t1.i = t2.i;
- QUERY PLAN
-------------------------------------------------------------------------------------------------------------------------------------------------------------------
- Gather Motion 2:1 (slice1; segments: 2) (cost=0.00..862.01 rows=10 width=24)
- Rows out: 10 rows at destination with 2.561 ms to first row, 3.151 ms to end, start offset by 0.619 ms.
- -> Hash Join (cost=0.00..862.01 rows=5 width=24)
+ QUERY PLAN
+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+ Gather Motion 8:1 (slice1; segments: 8) (cost=0.00..862.00 rows=10 width=24)
+ Rows out: 10 rows at destination with 37 ms to first row, 45 ms to end, start offset by 0.587/0.587 ms.
+ -> Hash Join (cost=0.00..862.00 rows=2 width=24)
Hash Cond: public.smallt.i = public.smallt.i
- Rows out: Avg 5.0 rows x 2 workers. Max 5 rows (seg0) with 0.901 ms to first row, 1.808 ms to end, start offset by 1.206 ms.
- Executor memory: 1K bytes avg, 1K bytes max (seg0).
- Work_mem used: 1K bytes avg, 1K bytes max (seg0). Workfile: (0 spilling, 0 reused)
- (seg0) Hash chain length 1.0 avg, 1 max, using 5 of 262151 buckets.
- -> GroupAggregate (cost=0.00..431.01 rows=5 width=12)
+ Rows out: Avg 1.2 rows x 8 workers. Max/Last(seg2:xzhangmac/seg3:xzhangmac) 2/1 rows with 35/40 ms to first row, 37/41 ms to end, start offset by 4.501/4.616 ms.
+ Executor memory: 1K bytes avg, 1K bytes max (seg2:xzhangmac).
+ Work_mem used: 1K bytes avg, 1K bytes max (seg2:xzhangmac). Workfile: (0 spilling, 0 reused)
+ (seg2) Hash chain length 1.0 avg, 1 max, using 2 of 262151 buckets.
+ -> GroupAggregate (cost=0.00..431.00 rows=2 width=12)
Group By: public.smallt.i
- Rows out: Avg 5.0 rows x 2 workers. Max 5 rows (seg0) with 0.144 ms to first row, 0.174 ms to end, start offset by 1.960 ms.
- -> Sort (cost=0.00..431.01 rows=50 width=4)
+ Rows out: Avg 1.2 rows x 8 workers. Max/Last(seg2:xzhangmac/seg0:xzhangmac) 2/1 rows with 19/19 ms to end, start offset by 21/21 ms.
+ -> Sort (cost=0.00..431.00 rows=13 width=4)
Sort Key: public.smallt.i
- Rows out: Avg 50.0 rows x 2 workers. Max 50 rows (seg0) with 0.094 ms to first row, 0.107 ms to end, start offset by 2.001 ms.
- Executor memory: 29K bytes avg, 29K bytes max (seg0).
- Work_mem used: 29K bytes avg, 29K bytes max (seg0). Workfile: (0 spilling, 0 reused)
- -> Table Scan on smallt (cost=0.00..431.00 rows=50 width=4)
- Rows out: Avg 50.0 rows x 2 workers. Max 50 rows (seg0) with 0.020 ms to first row, 0.037 ms to end, start offset by 2.028 ms.
- -> Hash (cost=431.01..431.01 rows=5 width=12)
- Rows in: Avg 5.0 rows x 2 workers. Max 5 rows (seg0) with 0.254 ms to end, start offset by 1.706 ms.
- -> GroupAggregate (cost=0.00..431.01 rows=5 width=12)
+ Rows out: Avg 12.5 rows x 8 workers. Max/Last(seg2:xzhangmac/seg0:xzhangmac) 20/10 rows with 19/19 ms to end, start offset by 21/21 ms.
+ Executor memory: 29K bytes avg, 29K bytes max (seg0:xzhangmac).
+ Work_mem used: 29K bytes avg, 29K bytes max (seg0:xzhangmac). Workfile: (0 spilling, 0 reused)
+ -> Table Scan on smallt (cost=0.00..431.00 rows=13 width=4)
+ Rows out: Avg 12.5 rows x 8 workers. Max/Last(seg2:xzhangmac/seg0:xzhangmac) 20/10 rows with 19/19 ms to end, start offset by 21/21 ms.
+ -> Hash (cost=431.00..431.00 rows=2 width=12)
+ Rows in: Avg 1.2 rows x 8 workers. Max/Last(seg2:xzhangmac/seg3:xzhangmac) 2/1 rows with 15/28 ms to end, start offset by 6.485/6.521 ms.
+ -> GroupAggregate (cost=0.00..431.00 rows=2 width=12)
Group By: public.smallt.i
- Rows out: Avg 5.0 rows x 2 workers. Max 5 rows (seg0) with 0.202 ms to first row, 0.236 ms to end, start offset by 1.707 ms.
- -> Sort (cost=0.00..431.01 rows=50 width=4)
+ Rows out: Avg 1.2 rows x 8 workers. Max/Last(seg2:xzhangmac/seg3:xzhangmac) 2/1 rows with 15/28 ms to end, start offset by 6.486/6.522 ms.
+ -> Sort (cost=0.00..431.00 rows=13 width=4)
Sort Key: public.smallt.i
- Rows out: Avg 50.0 rows x 2 workers. Max 50 rows (seg0) with 0.157 ms to first row, 0.170 ms to end, start offset by 1.737 ms.
- Executor memory: 29K bytes avg, 29K bytes max (seg0).
- Work_mem used: 29K bytes avg, 29K bytes max (seg0). Workfile: (0 spilling, 0 reused)
- -> Table Scan on smallt (cost=0.00..431.00 rows=50 width=4)
- Rows out: Avg 50.0 rows x 2 workers. Max 50 rows (seg0) with 0.054 ms to first row, 0.072 ms to end, start offset by 1.782 ms.
+ Rows out: Avg 12.5 rows x 8 workers. Max/Last(seg2:xzhangmac/seg3:xzhangmac) 20/10 rows with 15/28 ms to end, start offset by 6.487/6.523 ms.
+ Executor memory: 61K bytes avg, 61K bytes max (seg0:xzhangmac).
+ Work_mem used: 61K bytes avg, 61K bytes max (seg0:xzhangmac). Workfile: (0 spilling, 0 reused)
+ -> Table Scan on smallt (cost=0.00..431.00 rows=13 width=4)
+ Rows out: Avg 12.5 rows x 8 workers. Max/Last(seg2:xzhangmac/seg3:xzhangmac) 20/10 rows with 14/27 ms to first row, 15/27 ms to end, start offset by 6.625/6.708 ms.
Slice statistics:
- (slice0) Executor memory: 159K bytes.
- (slice1) Executor memory: 3275K bytes avg x 2 workers, 3275K bytes max (seg0). Work_mem: 29K bytes max.
+ (slice0) Executor memory: 223K bytes.
+ (slice1) Executor memory: 3459K bytes avg x 8 workers, 3459K bytes max (seg0:xzhangmac). Work_mem: 61K bytes max.
Statement statistics:
- Memory used: 128000K bytes
- Settings: enable_hashjoin=off; enable_nestloop=on; gp_enable_agg_distinct=on; optimizer=on; optimizer_segments=3
- Total runtime: 4.283 ms
-(37 rows)
+ Memory used: 131072K bytes
+ Settings: default_segment_num=8; enable_hashjoin=off; enable_nestloop=on; gp_enable_agg_distinct=on
+ Optimizer status: PQO version 1.611
+ Dispatcher statistics:
+ executors used(total/cached/new connection): (8/8/0); dispatcher time(total/connection/dispatch data): (0.171 ms/0.000 ms/0.065 ms).
+ dispatch data time(max/min/avg): (0.025 ms/0.005 ms/0.008 ms); consume executor data time(max/min/avg): (0.042 ms/0.010 ms/0.018 ms); free executor time(max/min/avg): (0.000 ms/0.000 ms/0.000 ms).
+ Data locality statistics:
+ data locality ratio: 1.000; virtual segment number: 8; different host number: 1; virtual segment number per host(avg/min/max): (8/8/8); segment size(avg/min/max): (352.000/288/544); segment size with penalty(avg/min/max): (0.000/0/0); continuity(avg/min/max): (1.000/1.000/1.000).
+ Total runtime: 46.381 ms
+(43 rows)
set enable_nestloop=off;
set enable_hashjoin=on;
@@ -351,75 +402,165 @@ set enable_hashjoin=on;
select d, count(*) from smallt group by d limit 5; --ignore
d | count
------------+-------
- 01-12-2011 | 5
+ 01-05-2011 | 5
+ 01-13-2011 | 5
01-08-2011 | 5
- 01-10-2011 | 5
- 01-14-2011 | 5
- 01-20-2011 | 5
+ 01-16-2011 | 5
+ 01-06-2011 | 5
(5 rows)
explain analyze select d, count(*) from smallt group by d limit 5;
- QUERY PLAN
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- Limit (cost=0.00..431.01 rows=3 width=12)
- Rows out: 5 rows with 22 ms to end, start offset by 0.596 ms.
- -> Gather Motion 2:1 (slice2; segments: 2) (cost=0.00..431.01 rows=5 width=12)
- Rows out: 5 rows at destination with 22 ms to end, start offset by 0.607 ms.
- -> Limit (cost=0.00..431.01 rows=3 width=12)
- Rows out: Avg 5.0 rows x 2 workers. Max 5 rows (seg0) with 20 ms to first row, 22 ms to end, start offset by 1.369 ms.
- -> HashAggregate (cost=0.00..431.01 rows=10 width=12)
+ QUERY PLAN
+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+ Limit (cost=0.00..431.00 rows=1 width=12)
+ Rows out: 5 rows with 32 ms to end, start offset by 0.594/0.594 ms.
+ -> Gather Motion 8:1 (slice2; segments: 8) (cost=0.00..431.00 rows=5 width=12)
+ Rows out: 5 rows at destination with 32 ms to end, start offset by 0.595/0.595 ms.
+ -> Limit (cost=0.00..431.00 rows=1 width=12)
+ Rows out: Avg 2.5 rows x 8 workers. Max/Last(seg0:xzhangmac/seg4:xzhangmac) 3/2 rows with 25/28 ms to end, start offset by 7.166/4.647 ms.
+ -> GroupAggregate (cost=0.00..431.00 rows=3 width=12)
Group By: d
- Rows out: Avg 5.0 rows x 2 workers. Max 5 rows (seg0) with 20 ms to first row, 22 ms to end, start offset by 1.377 ms.
- Executor memory: 6233K bytes avg, 6233K bytes max (seg0).
- -> Redistribute Motion 2:2 (slice1; segments: 2) (cost=0.00..431.01 rows=10 width=12)
- Hash Key: d
- Rows out: Avg 10.0 rows x 2 workers at destination. Max 10 rows (seg0) with 7.371 ms to first row, 16 ms to end, start offset by 4.297 ms.
- -> Result (cost=0.00..431.01 rows=10 width=12)
- Rows out: Avg 10.0 rows x 2 workers. Max 10 rows (seg0) with 2.994 ms to first row, 3.039 ms to end, start offset by 17 ms.
- -> GroupAggregate (cost=0.00..431.01 rows=10 width=12)
- Group By: d
- Rows out: Avg 10.0 rows x 2 workers. Max 10 rows (seg0) with 2.986 ms to first row, 3.026 ms to end, start offset by 17 ms.
- -> Sort (cost=0.00..431.01 rows=50 width=4)
- Sort Key: d
- Rows out: Avg 50.0 rows x 2 workers. Max 50 rows (seg0) with 2.969 ms to first row, 2.983 ms to end, start offset by 17 ms.
- Executor memory: 29K bytes avg, 29K bytes max (seg0).
- Work_mem used: 29K bytes avg, 29K bytes max (seg0). Workfile: (0 spilling, 0 reused)
- -> Table Scan on smallt (cost=0.00..431.00 rows=50 width=4)
- Rows out: Avg 50.0 rows x 2 workers. Max 50 rows (seg0) with 2.862 ms to first row, 2.883 ms to end, start offset by 17 ms.
+ Rows out: Avg 2.5 rows x 8 workers. Max/Last(seg0:xzhangmac/seg4:xzhangmac) 3/2 rows with 25/28 ms to end, start offset by 7.167/4.648 ms.
+ -> Sort (cost=0.00..431.00 rows=3 width=12)
+ Sort Key: d
+ Rows out: Avg 2.5 rows x 8 workers. Max/Last(seg0:xzhangmac/seg4:xzhangmac) 3/2 rows with 25/28 ms to end, start offset by 7.167/4.649 ms.
+ Executor memory: 61K bytes avg, 61K bytes max (seg0:xzhangmac).
+ Work_mem used: 61K bytes avg, 61K bytes max (seg0:xzhangmac). Workfile: (0 spilling, 0 reused)
+ -> Redistribute Motion 8:8 (slice1; segments: 8) (cost=0.00..431.00 rows=3 width=12)
+ Hash Key: d
+ Rows out: Avg 2.5 rows x 8 workers at destination. Max/Last(seg0:xzhangmac/seg4:xzhangmac) 3/2 rows with 16/20 ms to first row, 23/27 ms to end, start offset by 9.175/5.755 ms.
+ -> Result (cost=0.00..431.00 rows=3 width=12)
+ Rows out: Avg 2.5 rows x 8 workers. Max/Last(seg2:xzhangmac/seg0:xzhangmac) 4/2 rows with 18/21 ms to end, start offset by 14/11 ms.
+ -> GroupAggregate (cost=0.00..431.00 rows=3 width=12)
+ Group By: d
+ Rows out: Avg 2.5 rows x 8 workers. Max/Last(seg2:xzhangmac/seg0:xzhangmac) 4/2 rows with 18/21 ms to end, start offset by 14/11 ms.
+ -> Sort (cost=0.00..431.00 rows=13 width=4)
+ Sort Key: d
+ Rows out: Avg 12.5 rows x 8 workers. Max/Last(seg2:xzhangmac/seg0:xzhangmac) 20/10 rows with 18/21 ms to end, start offset by 14/11 ms.
+ Executor memory: 61K bytes avg, 61K bytes max (seg0:xzhangmac).
+ Work_mem used: 61K bytes avg, 61K bytes max (seg0:xzhangmac). Workfile: (0 spilling, 0 reused)
+ -> Table Scan on smallt (cost=0.00..431.00 rows=13 width=4)
+ Rows out: Avg 12.5 rows x 8 workers. Max/Last(seg2:xzhangmac/seg1:xzhangmac) 20/10 rows with 17/19 ms to end, start offset by 15/6.208 ms.
Slice statistics:
- (slice0) Executor memory: 159K bytes.
- (slice1) Executor memory: 195K bytes avg x 2 workers, 195K bytes max (seg0). Work_mem: 29K bytes max.
- (slice2) Executor memory: 6401K bytes avg x 2 workers, 6403K bytes max (seg1).
+ (slice0) Executor memory: 223K bytes.
+ (slice1) Executor memory: 431K bytes avg x 8 workers, 443K bytes max (seg2:xzhangmac). Work_mem: 61K bytes max.
+ (slice2) Executor memory: 275K bytes avg x 8 workers, 275K bytes max (seg0:xzhangmac). Work_mem: 61K bytes max.
Statement statistics:
- Memory used: 128000K bytes
- Settings: enable_hashjoin=on; enable_nestloop=off; gp_enable_agg_distinct=on; optimizer=on; optimizer_segments=3
- Total runtime: 25.585 ms
-(33 rows)
+ Memory used: 131072K bytes
+ Settings: default_segment_num=8; enable_hashjoin=on; enable_nestloop=off; gp_enable_agg_distinct=on
+ Optimizer status: PQO version 1.611
+ Dispatcher statistics:
+ executors used(total/cached/new connection): (16/16/0); dispatcher time(total/connection/dispatch data): (0.269 ms/0.000 ms/0.136 ms).
+ dispatch data time(max/min/avg): (0.030 ms/0.004 ms/0.008 ms); consume executor data time(max/min/avg): (0.023 ms/0.004 ms/0.011 ms); free executor time(max/min/avg): (0.000 ms/0.000 ms/0.000 ms).
+ Data locality statistics:
+ data locality ratio: 1.000; virtual segment number: 8; different host number: 1; virtual segment number per host(avg/min/max): (8/8/8); segment size(avg/min/max): (352.000/288/544); segment size with penalty(avg/min/max): (0.000/0/0); continuity(avg/min/max): (1.000/1.000/1.000).
+ Total runtime: 33.648 ms
+(43 rows)
-- HashJoin
select t1.* from smallt as t1, smallt as t2 where t1.i = t2.i;
i | t | d
---+---------+------------
- 0 | text 0 | 01-01-2011
- 0 | text 0 | 01-01-2011
- 0 | text 0 | 01-01-2011
- 0 | text 0 | 01-01-2011
- 0 | text 0 | 01-01-2011
- 0 | text 0 | 01-01-2011
- 0 | text 0 | 01-01-2011
- 0 | text 0 | 01-01-2011
- 0 | text 0 | 01-01-2011
- 0 | text 0 | 01-01-2011
- 2 | text 2 | 01-03-2011
- 2 | text 2 | 01-03-2011
- 2 | text 2 | 01-03-2011
- 2 | text 2 | 01-03-2011
- 2 | text 2 | 01-03-2011
- 2 | text 2 | 01-03-2011
- 2 | text 2 | 01-03-2011
- 2 | text 2 | 01-03-2011
- 2 | text 2 | 01-03-2011
- 2 | text 2 | 01-03-2011
+ 3 | text 3 | 01-04-2011
+ 3 | text 3 | 01-04-2011
+ 3 | text 3 | 01-04-2011
+ 3 | text 3 | 01-04-2011
+ 3 | text 3 | 01-04-2011
+ 3 | text 3 | 01-04-2011
+ 3 | text 3 | 01-04-2011
+ 3 | text 3 | 01-04-2011
+ 3 | text 3 | 01-04-2011
+ 3 | text 3 | 01-04-2011
+ 3 | text 13 | 01-14-2011
+ 3 | text 13 | 01-14-2011
+ 3 | text 13 | 01-14-2011
+ 3 | text 13 | 01-14-2011
+ 3 | text 13 | 01-14-2011
+ 3 | text 13 | 01-14-2011
+ 3 | text 13 | 01-14-2011
+ 3 | text 13 | 01-14-2011
+ 3 | text 13 | 01-14-2011
+ 3 | text 13 | 01-14-2011
+ 3 | text 8 | 01-04-2011
+ 3 | text 8 | 01-04-2011
+ 3 | text 8 | 01-04-2011
+ 3 | text 8 | 01-04-2011
+ 3 | text 8 | 01-04-2011
+ 3 | text 8 | 01-04-2011
+ 3 | text 8 | 01-04-2011
+ 3 | text 8 | 01-04-2011
+ 3 | text 8 | 01-04-2011
+ 3 | text 8 | 01-04-2011
+ 3 | text 3 | 01-14-2011
+ 3 | text 3 | 01-14-2011
+ 3 | text 3 | 01-14-2011
+ 3 | text 3 | 01-14-2011
+ 3 | text 3 | 01-14-2011
+ 3 | text 3 | 01-14-2011
+ 3 | text 3 | 01-14-2011
+ 3 | text 3 | 01-14-2011
+ 3 | text 3 | 01-14-2011
+ 3 | text 3 | 01-14-2011
+ 3 | text 13 | 01-04-2011
+ 3 | text 13 | 01-04-2011
+ 3 | text 13 | 01-04-2011
+ 3 | text 13 | 01-04-2011
+ 3 | text 13 | 01-04-2011
+ 3 | text 13 | 01-04-2011
+ 3 | text 13 | 01-04-2011
+ 3 | text 13 | 01-04-2011
+ 3 | text 13 | 01-04-2011
+ 3 | text 13 | 01-04-2011
+ 3 | text 8 | 01-14-2011
+ 3 | text 8 | 01-14-2011
+ 3 | text 8 | 01-14-2011
+ 3 | text 8 | 01-14-2011
+ 3 | text 8 | 01-14-2011
+ 3 | text 8 | 01-14-2011
+ 3 | text 8 | 01-14-2011
+ 3 | text 8 | 01-14-2011
+ 3 | text 8 | 01-14-2011
+ 3 | text 8 | 01-14-2011
+ 3 | text 3 | 01-04-2011
+ 3 | text 3 | 01-04-2011
+ 3 | text 3 | 01-04-2011
+ 3 | text 3 | 01-04-2011
+ 3 | text 3 | 01-04-2011
+ 3 | text 3 | 01-04-2011
+ 3 | text 3 | 01-04-2011
+ 3 | text 3 | 01-04-2011
+ 3 | text 3 | 01-04-2011
+ 3 | text 3 | 01-04-2011
+ 3 | text 13 | 01-14-2011
+ 3 | text 13 | 01-14-2011
+ 3 | text 13 | 01-14-2011
+ 3 | text 13 | 01-14-2011
+ 3 | text 13 | 01-14-2011
+ 3 | text 13 | 01-14-2011
+ 3 | text 13 | 01-14-2011
+ 3 | text 13 | 01-14-2011
+ 3 | text 13 | 01-14-2011
+ 3 | text 13 | 01-14-2011
+ 3 | text 8 | 01-04-2011
+ 3 | text 8 | 01-04-2011
+ 3 | text 8 | 01-04-2011
+ 3 | text 8 | 01-04-2011
+ 3 | text 8 | 01-04-2011
+ 3 | text 8 | 01-04-2011
+ 3 | text 8 | 01-04-2011
+ 3 | text 8 | 01-04-2011
+ 3 | text 8 | 01-04-2011
+ 3 | text 8 | 01-04-2011
+ 3 | text 3 | 01-14-2011
+ 3 | text 3 | 01-14-2011
+ 3 | text 3 | 01-14-2011
+ 3 | text 3 | 01-14-2011
+ 3 | text 3 | 01-14-2011
+ 3 | text 3 | 01-14-2011
+ 3 | text 3 | 01-14-2011
+ 3 | text 3 | 01-14-2011
+ 3 | text 3 | 01-14-2011
+ 3 | text 3 | 01-14-2011
4 | text 4 | 01-05-2011
4 | text 4 | 01-05-2011
4 | text 4 | 01-05-2011
@@ -430,46 +571,6 @@ select t1.* from smallt as t1, smallt as t2 where t1.i = t2.i;
4 | text 4 | 01-05-2011
4 | text 4 | 01-05-2011
4 | text 4 | 01-05-2011
- 6 | text 6 | 01-07-2011
- 6 | text 6 | 01-07-2011
- 6 | text 6 | 01-07-2011
- 6 | text 6 | 01-07-2011
- 6 | text 6 | 01-07-2011
- 6 | text 6 | 01-07-2011
- 6 | text 6 | 01-07-2011
- 6 | text 6 | 01-07-2011
- 6 | text 6 | 01-07-2011
- 6 | text 6 | 01-07-2011
- 8 | text 8 | 01-09-2011
- 8 | text 8 | 01-09-2011
- 8 | text 8 | 01-09-2011
- 8 | text 8 | 01-09-2011
- 8 | text 8 | 01-09-2011
- 8 | text 8 | 01-09-2011
- 8 | text 8 | 01-09-2011
- 8 | text 8 | 01-09-2011
- 8 | text 8 | 01-09-2011
- 8 | text 8 | 01-09-2011
- 0 | text 10 | 01-11-2011
- 0 | text 10 | 01-11-2011
- 0 | text 10 | 01-11-2011
- 0 | text 10 | 01-11-2011
- 0 | text 10 | 01-11-2011
- 0 | text 10 | 01-11-2011
- 0 | text 10 | 01-11-2011
- 0 | text 10 | 01-11-2011
- 0 | text 10 | 01-11-2011
- 0 | text 10 | 01-11-2011
- 2 | text 12 | 01-13-2011
- 2 | text 12 | 01-13-2011
- 2 | text 12 | 01-13-2011
- 2 | text 12 | 01-13-2011
- 2 | text 12 | 01-13-2011
- 2 | text 12 | 01-13-2011
- 2 | text 12 | 01-13-2011
- 2 | text 12 | 01-13-2011
- 2 | text 12 | 01-13-2011
- 2 | text 12 | 01-13-2011
4 | text 14 | 01-15-2011
4 | text 14 | 01-15-2011
4 | text 14 | 01-15-2011
@@ -480,46 +581,6 @@ select t1.* from smallt as t1, smallt as t2 where t1.i = t2.i;
4 | text 14 | 01-15-2011
4 | text 14 | 01-15-2011
4 | text 14 | 01-15-2011
- 6 | text 1 | 01-17-2011
- 6 | text 1 | 01-17-2011
- 6 | text 1 | 01-17-2011
- 6 | text 1 | 01-17-2011
- 6 | text 1 | 01-17-2011
- 6 | text 1 | 01-17-2011
- 6 | text 1 | 01-17-2011
- 6 | text 1 | 01-17-2011
- 6 | text 1 | 01-17-2011
- 6 | text 1 | 01-17-2011
- 8 | text 3 | 01-19-2011
- 8 | text 3 | 01-19-2011
- 8 | text 3 | 01-19-2011
- 8 | text 3 | 01-19-2011
- 8 | text 3 | 01-19-2011
- 8 | text 3 | 01-19-2011
- 8 | text 3 | 01-19-2011
- 8 | text 3 | 01-19-2011
- 8 | text 3 | 01-19-2011
- 8 | text 3 | 01-19-2011
- 0 | text 5 | 01-01-2011
- 0 | text 5 | 01-01-2011
- 0 | text 5 | 01-01-2011
- 0 | text 5 | 01-01-2011
- 0 | text 5 | 01-01-2011
- 0 | text 5 | 01-01-2011
- 0 | text 5 | 01-01-2011
- 0 | text 5 | 01-01-2011
- 0 | text 5 | 01-01-2011
- 0 | text 5 | 01-01-2011
- 2 | text 7 | 01-03-2011
- 2 | text 7 | 01-03-2011
- 2 | text 7 | 01-03-2011
- 2 | text 7 | 01-03-2011
- 2 | text 7 | 01-03-2011
- 2 | text 7 | 01-03-2011
- 2 | text 7 | 01-03-2011
- 2 | text 7 | 01-03-2011
- 2 | text 7 | 01-03-2011
- 2 | text 7 | 01-03-2011
4 | text 9 | 01-05-2011
4 | text 9 | 01-05-2011
4 | text 9 | 01-05-2011
@@ -530,46 +591,6 @@ select t1.* from smallt as t1, smallt as t2 where t1.i = t2.i;
4 | text 9 | 01-05-2011
4 | text 9 | 01-05-2011
4 | text 9 | 01-05-2011
- 6 | text 11 | 01-07-2011
- 6 | text 11 | 01-07-2011
- 6 | text 11 | 01-07-2011
- 6 | text 11 | 01-07-2011
- 6 | text 11 | 01-07-2011
- 6 | text 11 | 01-07-2011
- 6 | text 11 | 01-07-2011
- 6 | text 11 | 01-07-2011
- 6 | text 11 | 01-07-2011
- 6 | text 11 | 01-07-2011
- 8 | text 13 | 01-09-2011
- 8 | text 13 | 01-09-2011
- 8 | text 13 | 01-09-2011
- 8 | text 13 | 01-09-2011
- 8 | text 13 | 01-09-2011
- 8 | text 13 | 01-09-2011
- 8 | text 13 | 01-09-2011
- 8 | text 13 | 01-09-2011
- 8 | text 13 | 01-09-2011
- 8 | text 13 | 01-09-2011
- 0 | text 0 | 01-11-2011
- 0 | text 0 | 01-11-2011
- 0 | text 0 | 01-11-2011
- 0 | text 0 | 01-11-2011
- 0 | text 0 | 01-11-2011
- 0 | text 0 | 01-11-2011
- 0 | text 0 | 01-11-2011
- 0 | text 0 | 01-11-2011
- 0 | text 0 | 01-11-2011
- 0 | text 0 | 01-11-2011
- 2 | text 2 | 01-13-2011
- 2 | text 2 | 01-13-2011
- 2 | text 2 | 01-13-2011
- 2 | text 2 | 01-13-2011
- 2 | text 2 | 01-13-2011
- 2 | text 2 | 01-13-2011
- 2 | text 2 | 01-13-2011
- 2 | text 2 | 01-13-2011
- 2 | text 2 | 01-13-2011
- 2 | text 2 | 01-13-2011
4 | text 4 | 01-15-2011
4 | text 4 | 01-15-2011
4 | text 4 | 01-15-2011
@@ -580,46 +601,6 @@ select t1.* from smallt as t1, smallt as t2 where t1.i = t2.i;
4 | text 4 | 01-15-2011
4 | text 4 | 01-15-2011
4 | text 4 | 01-15-2011
- 6 | text 6 | 01-17-2011
- 6 | text 6 | 01-17-2011
- 6 | text 6 | 01-17-2011
- 6 | text 6 | 01-17-2011
- 6 | text 6 | 01-17-2011
- 6 | text 6 | 01-17-2011
- 6 | text 6 | 01-17-2011
- 6 | text 6 | 01-17-2011
- 6 | text 6 | 01-17-2011
- 6 | text 6 | 01-17-2011
- 8 | text 8 | 01-19-2011
- 8 | text 8 | 01-19-2011
- 8 | text 8 | 01-19-2011
- 8 | text 8 | 01-19-2011
- 8 | text 8 | 01-19-2011
- 8 | text 8 | 01-19-2011
- 8 | text 8 | 01-19-2011
- 8 | text 8 | 01-19-2011
- 8 | text 8 | 01-19-2011
- 8 | text 8 | 01-19-2011
- 0 | text 10 | 01-01-2011
- 0 | text 10 | 01-01-2011
- 0 | text 10 | 01-01-2011
- 0 | text 10 | 01-01-2011
- 0 | text 10 | 01-01-2011
- 0 | text 10 | 01-01-2011
- 0 | text 10 | 01-01-2011
- 0 | text 10 | 01-01-2011
- 0 | text 10 | 01-01-2011
- 0 | text 10 | 01-01-2011
- 2 | text 12 | 01-03-2011
- 2 | text 12 | 01-03-2011
- 2 | text 12 | 01-03-2011
- 2 | text 12 | 01-03-2011
- 2 | text 12 | 01-03-2011
- 2 | text 12 | 01-03-2011
- 2 | text 12 | 01-03-2011
- 2 | text 12 | 01-03-2011
- 2 | text 12 | 01-03-2011
- 2 | text 12 | 01-03-2011
4 | text 14 | 01-05-2011
4 | text 14 | 01-05-2011
4 | text 14 | 01-05-2011
@@ -630,46 +611,6 @@ select t1.* from smallt as t1, smallt as t2 where t1.i = t2.i;
4 | text 14 | 01-05-2011
4 | text 14 | 01-05-2011
4 | text 14 | 01-05-2011
- 6 | text 1 | 01-07-2011
- 6 | text 1 | 01-07-2011
- 6 | text 1 | 01-07-2011
- 6 | text 1 | 01-07-2011
- 6 | text 1 | 01-07-2011
- 6 | text 1 | 01-07-2011
- 6 | text 1 | 01-07-2011
- 6 | text 1 | 01-07-2011
- 6 | text 1 | 01-07-2011
- 6 | text 1 | 01-07-2011
- 8 | text 3 | 01-09-2011
- 8 | text 3 | 01-09-2011
- 8 | text 3 | 01-09-2011
- 8 | text 3 | 01-09-2011
- 8 | text 3 | 01-09-2011
- 8 | text 3 | 01-09-2011
- 8 | text 3 | 01-09-2011
- 8 | text 3 | 01-09-2011
- 8 | text 3 | 01-09-2011
- 8 | text 3 | 01-09-2011
- 0 | text 5 | 01-11-2011
- 0 | text 5 | 01-11-2011
- 0 | text 5 | 01-11-2011
- 0 | text 5 | 01-11-2011
- 0 | text 5 | 01-11-2011
- 0 | text 5 | 01-11-2011
- 0 | text 5 | 01-11-2011
- 0 | text 5 | 01-11-2011
- 0 | text 5 | 01-11-2011
- 0 | text 5 | 01-11-2011
- 2 | text 7 | 01-13-2011
- 2 | text 7 | 01-13-2011
- 2 | text 7 | 01-13-2011
- 2 | text 7 | 01-13-2011
- 2 | text 7 | 01-13-2011
- 2 | text 7 | 01-13-2011
- 2 | text 7 | 01-13-2011
- 2 | text 7 | 01-13-2011
- 2 | text 7 | 01-13-2011
- 2 | text 7 | 01-13-2011
4 | text 9 | 01-15-2011
4 | text 9 | 01-15-2011
4 | text 9 | 01-15-2011
@@ -680,6 +621,96 @@ select t1.* from smallt as t1, smallt as t2 where t1.i = t2.i;
4 | text 9 | 01-15-2011
4 | text 9 | 01-15-2011
4 | text 9 | 01-15-2011
+ 4 | text 4 | 01-05-2011
+ 4 | text 4 | 01-05-2011
+ 4 | text 4 | 01-05-2011
+ 4 | text 4 | 01-05-2011
+ 4 | text 4 | 01-05-2011
+ 4 | text 4 | 01-05-2011
+ 4 | text 4 | 01-05-2011
+ 4 | text 4 | 01-05-2011
+ 4 | text 4 | 01-05-2011
+ 4 | text 4 | 01-05-2011
+ 4 | text 14 | 01-15-2011
+ 4 | text 14 | 01-15-2011
+ 4 | text 14 | 01-15-2011
+ 4 | text 14 | 01-15-2011
+ 4 | text 14 | 01-15-2011
+ 4 | text 14 | 01-15-2011
+ 4 | text 14 | 01-15-2011
+ 4 | text 14 | 01-15-2011
+ 4 | text 14 | 01-15-2011
+ 4 | text 14 | 01-15-2011
+ 4 | text 9 | 01-05-2011
+ 4 | text 9 | 01-05-2011
+ 4 | text 9 | 01-05-2011
+ 4 | text 9 | 01-05-2011
+ 4 | text 9 | 01-05-2011
+ 4 | text 9 | 01-05-2011
+ 4 | text 9 | 01-05-2011
+ 4 | text 9 | 01-05-2011
+ 4 | text 9 | 01-05-2011
+ 4 | text 9 | 01-05-2011
+ 4 | text 4 | 01-15-2011
+ 4 | text 4 | 01-15-2011
+ 4 | text 4 | 01-15-2011
+ 4 | text 4 | 01-15-2011
+ 4 | text 4 | 01-15-2011
+ 4 | text 4 | 01-15-2011
+ 4 | text 4 | 01-15-2011
+ 4 | text 4 | 01-15-2011
+ 4 | text 4 | 01-15-2011
+ 4 | text 4 | 01-15-2011
+ 6 | text 6 | 01-07-2011
+ 6 | text 6 | 01-07-2011
+ 6 | text 6 | 01-07-2011
+ 6 | text 6 | 01-07-2011
+ 6 | text 6 | 01-07-2011
+ 6 | text 6 | 01-07-2011
+ 6 | text 6 | 01-07-2011
+ 6 | text 6 | 01-07-2011
+ 6 | text 6 | 01-07-2011
+ 6 | text 6 | 01-07-2011
+ 6 | text 1 | 01-17-2011
+ 6 | text 1 | 01-17-2011
+ 6 | text 1 | 01-17-2011
+ 6 | text 1 | 01-17-2011
+ 6 | text 1 | 01-17-2011
+ 6 | text 1 | 01-17-2011
+ 6 | text 1 | 01-17-2011
+ 6 | text 1 | 01-17-2011
+ 6 | text 1 | 01-17-2011
+ 6 | text 1 | 01-17-2011
+ 6 | text 11 | 01-07-2011
+ 6 | text 11 | 01-07-2011
+ 6 | text 11 | 01-07-2011
+ 6 | text 11 | 01-07-2011
+ 6 | text 11 | 01-07-2011
+ 6 | text 11 | 01-07-2011
+ 6 | text 11 | 01-07-2011
+ 6 | text 11 | 01-07-2011
+ 6 | text 11 | 01-07-2011
+ 6 | text 11 | 01-07-2011
+ 6 | text 6 | 01-17-2011
+ 6 | text 6 | 01-17-2011
+ 6 | text 6 | 01-17-2011
+ 6 | text 6 | 01-17-2011
+ 6 | text 6 | 01-17-2011
+ 6 | text 6 | 01-17-2011
+ 6 | text 6 | 01-17-2011
+ 6 | text 6 | 01-17-2011
+ 6 | text 6 | 01-17-2011
+ 6 | text 6 | 01-17-2011
+ 6 | text 1 | 01-07-2011
+ 6 | text 1 | 01-07-2011
+ 6 | text 1 | 01-07-2011
+ 6 | text 1 | 01-07-2011
+ 6 | text 1 | 01-07-2011
+ 6 | text 1 | 01-07-2011
+ 6 | text 1 | 01-07-2011
+ 6 | text 1 | 01-07-2011
+ 6 | text 1 | 01-07-2011
+ 6 | text 1 | 01-07-2011
6 | text 11 | 01-17-2011
6 | text 11 | 01-17-2011
6 | text 11 | 01-17-2011
@@ -690,36 +721,46 @@ select t1.* from smallt as t1, smallt as t2 where t1.i = t2.i;
6 | text 11 | 01-17-2011
6 | text 11 | 01-17-2011
6 | text 11 | 01-17-2011
- 1 | text 1 | 01-02-2011
- 1 | text 1 | 01-02-2011
- 1 | text 1 | 01-02-2011
- 1 | text 1 | 01-02-2011
- 1 | text 1 | 01-02-2011
- 1 | text 1 | 01-02-2011
- 1 | text 1 | 01-02-2011
- 1 | text 1 | 01-02-2011
- 1 | text 1 | 01-02-2011
- 1 | text 1 | 01-02-2011
- 3 | text 3 | 01-04-2011
- 3 | text 3 | 01-04-2011
- 3 | text 3 | 01-04-2011
- 3 | text 3 | 01-04-2011
- 3 | text 3 | 01-04-2011
- 3 | text 3 | 01-04-2011
- 3 | text 3 | 01-04-2011
- 3 | text 3 | 01-04-2011
- 3 | text 3 | 01-04-2011
- 3 | text 3 | 01-04-2011
- 5 | text 5 | 01-06-2011
- 5 | text 5 | 01-06-2011
- 5 | text 5 | 01-06-2011
- 5 | text 5 | 01-06-2011
- 5 | text 5 | 01-06-2011
- 5 | text 5 | 01-06-2011
- 5 | text 5 | 01-06-2011
- 5 | text 5 | 01-06-2011
- 5 | text 5 | 01-06-2011
- 5 | text 5 | 01-06-2011
+ 6 | text 6 | 01-07-2011
+ 6 | text 6 | 01-07-2011
+ 6 | text 6 | 01-07-2011
+ 6 | text 6 | 01-07-2011
+ 6 | text 6 | 01-07-2011
+ 6 | text 6 | 01-07-2011
+ 6 | text 6 | 01-07-2011
+ 6 | text 6 | 01-07-2011
+ 6 | text 6 | 01-07-2011
+ 6 | text 6 | 01-07-2011
+ 6 | text 1 | 01-17-2011
+ 6 | text 1 | 01-17-2011
+ 6 | text 1 | 01-17-2011
+ 6 | text 1 | 01-17-2011
+ 6 | text 1 | 01-17-2011
+ 6 | text 1 | 01-17-2011
+ 6 | text 1 | 01-17-2011
+ 6 | text 1 | 01-17-2011
+ 6 | text 1 | 01-17-2011
+ 6 | text 1 | 01-17-2011
+ 6 | text 11 | 01-07-2011
+ 6 | text 11 | 01-07-2011
+ 6 | text 11 | 01-07-2011
+ 6 | text 11 | 01-07-2011
+ 6 | text 11 | 01-07-2011
+ 6 | text 11 | 01-07-2011
+ 6 | text 11 | 01-07-2011
+ 6 | text 11 | 01-07-2011
+ 6 | text 11 | 01-07-2011
+ 6 | text 11 | 01-07-2011
+ 6 | text 6 | 01-17-2011
+ 6 | text 6 | 01-17-2011
+ 6 | text 6 | 01-17-2011
+ 6 | text 6 | 01-17-2011
+ 6 | text 6 | 01-17-2011
+ 6 | text 6 | 01-17-2011
+ 6 | text 6 | 01-17-2011
+ 6 | text 6 | 01-17-2011
+ 6 | text 6 | 01-17-2011
+ 6 | text 6 | 01-17-2011
7 | text 7 | 01-08-2011
7 | text 7 | 01-08-2011
7 | text 7 | 01-08-2011
@@ -730,46 +771,6 @@ select t1.* from smallt as t1, smallt as t2 where t1.i = t2.i;
7 | text 7 | 01-08-2011
7 | text 7 | 01-08-2011
7 | text 7 | 01-08-2011
- 9 | text 9 | 01-10-2011
- 9 | text 9 | 01-10-2011
- 9 | text 9 | 01-10-2011
- 9 | text 9 | 01-10-2011
- 9 | text 9 | 01-10-2011
- 9 | text 9 | 01-10-2011
- 9 | text 9 | 01-10-2011
- 9 | text 9 | 01-10-2011
- 9 | text 9 | 01-10-2011
- 9 | text 9 | 01-10-2011
- 1 | text 11 | 01-12-2011
- 1 | text 11 | 01-12-2011
- 1 | text 11 | 01-12-2011
- 1 | text 11 | 01-12-2011
- 1 | text 11 | 01-12-2011
- 1 | text 11 | 01-12-2011
- 1 | text 11 | 01-12-2011
- 1 | text 11 | 01-12-2011
- 1 | text 11 | 01-12-2011
- 1 | text 11 | 01-12-2011
- 3 | text 13 | 01-14-2011
- 3 | text 13 | 01-14-2011
- 3 | text 13 | 01-14-2011
- 3 | text 13 | 01-14-2011
- 3 | text 13 | 01-14-2011
- 3 | text 13 | 01-14-2011
- 3 | text 13 | 01-14-2011
- 3 | text 13 | 01-14-2011
- 3 | text 13 | 01-14-2011
- 3 | text 13 | 01-14-2011
- 5 | text 0 | 01-16-2011
- 5 | text 0 | 01-16-2011
- 5 | text 0 | 01-16-2011
- 5 | text 0 | 01-16-2011
- 5 | text 0 | 01-16-2011
- 5 | text 0 | 01-16-2011
- 5 | text 0 | 01-16-2011
- 5 | text 0 | 01-16-2011
- 5 | text 0 | 01-16-2011
- 5 | text 0 | 01-16-2011
7 | text 2 | 01-18-2011
7 | text 2 | 01-18-2011
7 | text 2 | 01-18-2011
@@ -780,46 +781,6 @@ select t1.* from smallt as t1, smallt as t2 where t1.i = t2.i;
7 | text 2 | 01-18-2011
7 | text 2 | 01-18-2011
7 | text 2 | 01-18-2011
- 9 | text 4 | 01-20-2011
- 9 | text 4 | 01-20-2011
- 9 | text 4 | 01-20-2011
- 9 | text 4 | 01-20-2011
- 9 | text 4 | 01-20-2011
- 9 | text 4 | 01-20-2011
- 9 | text 4 | 01-20-2011
- 9 | text 4 | 01-20-2011
- 9 | text 4 | 01-20-2011
- 9 | text 4 | 01-20-2011
- 1 | text 6 | 01-02-2011
- 1 | text 6 | 01-02-2011
- 1 | text 6 | 01-02-2011
- 1 | text 6 | 01-02-2011
- 1 | text 6 | 01-02-2011
- 1 | text 6 | 01-02-2011
- 1 | text 6 | 01-02-2011
- 1 | text 6 | 01-02-2011
- 1 | text 6 | 01-02-2011
- 1 | text 6 | 01-02-2011
- 3 | text 8 | 01-04-2011
- 3 | text 8 | 01-04-2011
- 3 | text 8 | 01-04-2011
- 3 | text 8 | 01-04-2011
- 3 | text 8 | 01-04-2011
- 3 | text 8 | 01-04-2011
- 3 | text 8 | 01-04-2011
- 3 | text 8 | 01-04-2011
- 3 | text 8 | 01-04-2011
- 3 | text 8 | 01-04-2011
- 5 | text 10 | 01-06-2011
- 5 | text 10 | 01-06-2011
- 5 | text 10 | 01-06-2011
- 5 | text 10 | 01-06-2011
- 5 | text 10 | 01-06-2011
- 5 | text 10 | 01-06-2011
- 5 | text 10 | 01-06-2011
- 5 | text 10 | 01-06-2011
- 5 | text 10 | 01-06-2011
- 5 | text 10 | 01-06-2011
7 | text 12 | 01-08-2011
7 | text 12 | 01-08-2011
7 | text 12 | 01-08-2011
@@ -830,46 +791,6 @@ select t1.* from smallt as t1, smallt as t2 where t1.i = t2.i;
7 | text 12 | 01-08-2011
7 | text 12 | 01-08-2011
7 | text 12 | 01-08-2011
- 9 | text 14 | 01-10-2011
- 9 | text 14 | 01-10-2011
- 9 | text 14 | 01-10-2011
- 9 | text 14 | 01-10-2011
- 9 | text 14 | 01-10-2011
- 9 | text 14 | 01-10-2011
- 9 | text 14 | 01-10-2011
- 9 | text 14 | 01-10-2011
- 9 | text 14 | 01-10-2011
- 9 | text 14 | 01-10-2011
- 1 | text 1 | 01-12-2011
- 1 | text 1 | 01-12-2011
- 1 | text 1 | 01-12-2011
- 1 | text 1 | 01-12-2011
- 1 | text 1 | 01-12-2011
- 1 | text 1 | 01-12-2011
- 1 | text 1 | 01-12-2011
- 1 | text 1 | 01-12-2011
- 1 | text 1 | 01-12-2011
- 1 | text 1 | 01-12-2011
- 3 | text 3 | 01-14-2011
- 3 | text 3 | 01-14-2011
- 3 | text 3 | 01-14-2011
- 3 | text 3 | 01-14-2011
- 3 | text 3 | 01-14-2011
- 3 | text 3 | 01-14-2011
- 3 | text 3 | 01-14-2011
- 3 | text 3 | 01-14-2011
- 3 | text 3 | 01-14-2011
- 3 | text 3 | 01-14-2011
- 5 | text 5 | 01-16-2011
- 5 | text 5 | 01-16-2011
- 5 | text 5 | 01-16-2011
- 5 | text 5 | 01-16-2011
- 5 | text 5 | 01-16-2011
- 5 | text 5 | 01-16-2011
- 5 | text 5 | 01-16-2011
- 5 | text 5 | 01-16-2011
- 5 | text 5 | 01-16-2011
- 5 | text 5 | 01-16-2011
7 | text 7 | 01-18-2011
7 | text 7 | 01-18-2011
7 | text 7 | 01-18-2011
@@ -880,46 +801,6 @@ select t1.* from smallt as t1, smallt as t2 where t1.i = t2.i;
7 | text 7 | 01-18-2011
7 | text 7 | 01-18-2011
7 | text 7 | 01-18-2011
- 9 | text 9 | 01-20-2011
- 9 | text 9 | 01-20-2011
- 9 | text 9 | 01-20-2011
- 9 | text 9 | 01-20-2011
- 9 | text 9 | 01-20-2011
- 9 | text 9 | 01-20-2011
- 9 | text 9 | 01-20-2011
- 9 | text 9 | 01-20-2011
- 9 | text 9 | 01-20-2011
- 9 | text 9 | 01-20-2011
- 1 | text 11 | 01-02-2011
- 1 | text 11 | 01-02-2011
- 1 | text 11 | 01-02-2011
- 1 | text 11 | 01-02-2011
- 1 | text 11 | 01-02-2011
- 1 | text 11 | 01-02-2011
- 1 | text 11 | 01-02-2011
- 1 | text 11 | 01-02-2011
- 1 | text 11 | 01-02-2011
- 1 | text 11 | 01-02-2011
- 3 | text 13 | 01-04-2011
- 3 | text 13 | 01-04-2011
- 3 | text 13 | 01-04-2011
- 3 | text 13 | 01-04-2011
- 3 | text 13 | 01-04-2011
- 3 | text 13 | 01-04-2011
- 3 | text 13 | 01-04-2011
- 3 | text 13 | 01-04-2011
- 3 | text 13 | 01-04-2011
- 3 | text 13 | 01-04-2011
- 5 | text 0 | 01-06-2011
- 5 | text 0 | 01-06-2011
- 5 | text 0 | 01-06-2011
- 5 | text 0 | 01-06-2011
- 5 | text 0 | 01-06-2011
- 5 | text 0 | 01-06-2011
- 5 | text 0 | 01-06-2011
- 5 | text 0 | 01-06-2011
- 5 | text 0 | 01-06-2011
- 5 | text 0 | 01-06-2011
7 | text 2 | 01-08-2011
7 | text 2 | 01-08-2011
7 | text 2 | 01-08-2011
@@ -930,46 +811,6 @@ select t1.* from smallt as t1, smallt as t2 where t1.i = t2.i;
7 | text 2 | 01-08-2011
7 | text 2 | 01-08-2011
7 | text 2 | 01-08-2011
- 9 | text 4 | 01-10-2011
- 9 | text 4 | 01-10-2011
- 9 | text 4 | 01-10-2011
- 9 | text 4 | 01-10-2011
- 9 | text 4 | 01-10-2011
- 9 | text 4 | 01-10-2011
- 9 | text 4 | 01-10-2011
- 9 | text 4 | 01-10-2011
- 9 | text 4 | 01-10-2011
- 9 | text 4 | 01-10-2011
- 1 | text 6 | 01-12-2011
- 1 | text 6 | 01-12-2011
- 1 | text 6 | 01-12-2011
- 1 | text 6 | 01-12-2011
- 1 | text 6 | 01-12-2011
- 1 | text 6 | 01-12-2011
- 1 | text 6 | 01-12-2011
- 1 | text 6 | 01-12-2011
- 1 | text 6 | 01-12-2011
- 1 | text 6 | 01-12-2011
- 3 | text 8 | 01-14-2011
- 3 | text 8 | 01-14-2011
- 3 | text 8 | 01-14-2011
- 3 | text 8 | 01-14-2011
- 3 | text 8 | 01-14-2011
- 3 | text 8 | 01-14-2011
- 3 | text 8 | 01-14-2011
- 3 | text 8 | 01-14-2011
- 3 | text 8 | 01-14-2011
- 3 | text 8 | 01-14-2011
- 5 | text 10 | 01-16-2011
- 5 | text 10 | 01-16-2011
- 5 | text 10 | 01-16-2011
- 5 | text 10 | 01-16-2011
- 5 | text 10 | 01-16-2011
- 5 | text 10 | 01-16-2011
- 5 | text 10 | 01-16-2011
- 5 | text 10 | 01-16-2011
- 5 | text 10 | 01-16-2011
- 5 | text 10 | 01-16-2011
7 | text 12 | 01-18-2011
7 | text 12 | 01-18-2011
7 | text 12 | 01-18-2011
@@ -980,6 +821,256 @@ select t1.* from smallt as t1, smallt as t2 where t1.i = t2.i;
7 | text 12 | 01-18-2011
7 | text 12 | 01-18-2011
7 | text 12 | 01-18-2011
+ 7 | text 7 | 01-08-2011
+ 7 | text 7 | 01-08-2011
+ 7 | text 7 | 01-08-2011
+ 7 | text 7 | 01-08-2011
+ 7 | text 7 | 01-08-2011
+ 7 | text 7 | 01-08-2011
+ 7 | text 7 | 01-08-2011
+ 7 | text 7 | 01-08-2011
+ 7 | text 7 | 01-08-2011
+ 7 | text 7 | 01-08-2011
+ 7 | text 2 | 01-18-2011
+ 7 | text 2 | 01-18-2011
+ 7 | text 2 | 01-18-2011
+ 7 | text 2 | 01-18-2011
+ 7 | text 2 | 01-18-2011
+ 7 | text 2 | 01-18-2011
+ 7 | text 2 | 01-18-2011
+ 7 | text 2 | 01-18-2011
+ 7 | text 2 | 01-18-2011
+ 7 | text 2 | 01-18-2011
+ 7 | text 12 | 01-08-2011
+ 7 | text 12 | 01-08-2011
+ 7 | text 12 | 01-08-2011
+ 7 | text 12 | 01-08-2011
+ 7 | text 12 | 01-08-2011
+ 7 | text 12 | 01-08-2011
+ 7 | text 12 | 01-08-2011
+ 7 | text 12 | 01-08-2011
+ 7 | text 12 | 01-08-2011
+ 7 | text 12 | 01-08-2011
+ 7 | text 7 | 01-18-2011
+ 7 | text 7 | 01-18-2011
+ 7 | text 7 | 01-18-2011
+ 7 | text 7 | 01-18-2011
+ 7 | text 7 | 01-18-2011
+ 7 | text 7 | 01-18-2011
+ 7 | text 7 | 01-18-2011
+ 7 | text 7 | 01-18-2011
+ 7 | text 7 | 01-18-2011
+ 7 | text 7 | 01-18-2011
+ 2 | text 2 | 01-03-2011
+ 2 | text 2 | 01-03-2011
+ 2 | text 2 | 01-03-2011
+ 2 | text 2 | 01-03-2011
+ 2 | text 2 | 01-03-2011
+ 2 | text 2 | 01-03-2011
+ 2 | text 2 | 01-03-2011
+ 2 | text 2 | 01-03-2011
+ 2 | text 2 | 01-03-2011
+ 2 | text 2 | 01-03-2011
+ 2 | text 12 | 01-13-2011
+ 2 | text 12 | 01-13-2011
+ 2 | text 12 | 01-13-2011
+ 2 | text 12 | 01-13-2011
+ 2 | text 12 | 01-13-2011
+ 2 | text 12 | 01-13-2011
+ 2 | text 12 | 01-13-2011
+ 2 | text 12 | 01-13-2011
+ 2 | text 12 | 01-13-2011
+ 2 | text 12 | 01-13-2011
+ 2 | text 7 | 01-03-2011
+ 2 | text 7 | 01-03-2011
+ 2 | text 7 | 01-03-2011
+ 2 | text 7 | 01-03-2011
+ 2 | text 7 | 01-03-2011
+ 2 | text 7 | 01-03-2011
+ 2 | text 7 | 01-03-2011
+ 2 | text 7 | 01-03-2011
+ 2 | text 7 | 01-03-2011
+ 2 | text 7 | 01-03-2011
+ 2 | text 2 | 01-13-2011
+ 2 | text 2 | 01-13-2011
+ 2 | text 2 | 01-13-2011
+ 2 | text 2 | 01-13-2011
+ 2 | text 2 | 01-13-2011
+ 2 | text 2 | 01-13-2011
+ 2 | text 2 | 01-13-2011
+ 2 | text 2 | 01-13-2011
+ 2 | text 2 | 01-13-2011
+ 2 | text 2 | 01-13-2011
+ 2 | text 12 | 01-03-2011
+ 2 | text 12 | 01-03-2011
+ 2 | text 12 | 01-03-2011
+ 2 | text 12 | 01-03-2011
+ 2 | text 12 | 01-03-2011
+ 2 | text 12 | 01-03-2011
+ 2 | text 12 | 01-03-2011
+ 2 | text 12 | 01-03-2011
+ 2 | text 12 | 01-03-2011
+ 2 | text 12 | 01-03-2011
+ 2 | text 7 | 01-13-2011
+ 2 | text 7 | 01-13-2011
+ 2 | text 7 | 01-13-2011
+ 2 | text 7 | 01-13-2011
+ 2 | text 7 | 01-13-2011
+ 2 | text 7 | 01-13-2011
+ 2 | text 7 | 01-13-2011
+ 2 | text 7 | 01-13-2011
+ 2 | text 7 | 01-13-2011
+ 2 | text 7 | 01-13-2011
+ 2 | text 2 | 01-03-2011
+ 2 | text 2 | 01-03-2011
+ 2 | text 2 | 01-03-2011
+ 2 | text 2 | 01-03-2011
+ 2 | text 2 | 01-03-2011
+ 2 | text 2 | 01-03-2011
+ 2 | text 2 | 01-03-2011
+ 2 | text 2 | 01-03-2011
+ 2 | text 2 | 01-03-2011
+ 2 | text 2 | 01-03-2011
+ 2 | text 12 | 01-13-2011
+ 2 | text 12 | 01-13-2011
+ 2 | text 12 | 01-13-2011
+ 2 | text 12 | 01-13-2011
+ 2 | text 12 | 01-13-2011
+ 2 | text 12 | 01-13-2011
+ 2 | text 12 | 01-13-2011
+ 2 | text 12 | 01-13-2011
+ 2 | text 12 | 01-13-2011
+ 2 | text 12 | 01-13-2011
+ 2 | text 7 | 01-03-2011
+ 2 | text 7 | 01-03-2011
+ 2 | text 7 | 01-03-2011
+ 2 | text 7 | 01-03-2011
+ 2 | text 7 | 01-03-2011
+ 2 | text 7 | 01-03-2011
+ 2 | text 7 | 01-03-2011
+ 2 | text 7 | 01-03-2011
+ 2 | text 7 | 01-03-2011
+ 2 | text 7 | 01-03-2011
+ 2 | text 2 | 01-13-2011
+ 2 | text 2 | 01-13-2011
+ 2 | text 2 | 01-13-2011
+ 2 | text 2 | 01-13-2011
+ 2 | text 2 | 01-13-2011
+ 2 | text 2 | 01-13-2011
+ 2 | text 2 | 01-13-2011
+ 2 | text 2 | 01-13-2011
+ 2 | text 2 | 01-13-2011
+ 2 | text 2 | 01-13-2011
+ 0 | text 0 | 01-01-2011
+ 0 | text 0 | 01-01-2011
+ 0 | text 0 | 01-01-2011
+ 0 | text 0 | 01-01-2011
+ 0 | text 0 | 01-01-2011
+ 0 | text 0 | 01-01-2011
+ 0 | text 0 | 01-01-2011
+ 0 | text 0 | 01-01-2011
+ 0 | text 0 | 01-01-2011
+ 0 | text 0 | 01-01-2011
+ 8 | text 8 | 01-09-2011
+ 8 | text 8 | 01-09-2011
+ 8 | text 8 | 01-09-2011
+ 8 | text 8 | 01-09-2011
+ 8 | text 8 | 01-09-2011
+ 8 | text 8 | 01-09-2011
+ 8 | text 8 | 01-09-2011
+ 8 | text 8 | 01-09-2011
+ 8 | text 8 | 01-09-2011
+ 8 | text 8 | 01-09-2011
+ 0 | text 10 | 01-11-2011
+ 0 | text 10 | 01-11-2011
+ 0 | text 10 | 01-11-2011
+ 0 | text 10 | 01-11-2011
+ 0 | text 10 | 01-11-2011
+ 0 | text 10 | 01-11-2011
+ 0 | text 10 | 01-11-2011
+ 0 | text 10 | 01-11-2011
+ 0 | text 10 | 01-11-2011
+ 0 | text 10 | 01-11-2011
+ 8 | text 3 | 01-19-2011
+ 8 | text 3 | 01-19-2011
+ 8 | text 3 | 01-19-2011
+ 8 | text 3 | 01-19-2011
+ 8 | text 3 | 01-19-2011
+ 8 | text 3 | 01-19-2011
+ 8 | text 3 | 01-19-2011
+ 8 | text 3 | 01-19-2011
+ 8 | text 3 | 01-19-2011
+ 8 | text 3 | 01-19-2011
+ 0 | text 5 | 01-01-2011
+ 0 | text 5 | 01-01-2011
+ 0 | text 5 | 01-01-2011
+ 0 | text 5 | 01-01-2011
+ 0 | text 5 | 01-01-2011
+ 0 | text 5 | 01-01-2011
+ 0 | text 5 | 01-01-2011
+ 0 | text 5 | 01-01-2011
+ 0 | text 5 | 01-01-2011
+ 0 | text 5 | 01-01-2011
+ 8 | text 13 | 01-09-2011
+ 8 | text 13 | 01-09-2011
+ 8 | text 13 | 01-09-2011
+ 8 | text 13 | 01-09-2011
+ 8 | text 13 | 01-09-2011
+ 8 | text 13 | 01-09-2011
+ 8 | text 13 | 01-09-2011
+ 8 | text 13 | 01-09-2011
+ 8 | text 13 | 01-09-2011
+ 8 | text 13 | 01-09-2011
+ 0 | text 0 | 01-11-2011
+ 0 | text 0 | 01-11-2011
+ 0 | text 0 | 01-11-2011
+ 0 | text 0 | 01-11-2011
+ 0 | text 0 | 01-11-2011
+ 0 | text 0 | 01-11-2011
+ 0 | text 0 | 01-11-2011
+ 0 | text 0 | 01-11-2011
+ 0 | text 0 | 01-11-2011
+ 0 | text 0 | 01-11-2011
+ 8 | text 8 | 01-19-2011
+ 8 | text 8 | 01-19-2011
+ 8 | text 8 | 01-19-2011
+ 8 | text 8 | 01-19-2011
+ 8 | text 8 | 01-19-2011
+ 8 | text 8 | 01-19-2011
+ 8 | text 8 | 01-19-2011
+ 8 | text 8 | 01-19-2011
+ 8 | text 8 | 01-19-2011
+ 8 | text 8 | 01-19-2011
+ 0 | text 10 | 01-01-2011
+ 0 | text 10 | 01-01-2011
+ 0 | text 10 | 01-01-2011
+ 0 | text 10 | 01-01-2011
+ 0 | text 10 | 01-01-2011
+ 0 | text 10 | 01-01-2011
+ 0 | text 10 | 01-01-2011
+ 0 | text 10 | 01-01-2011
+ 0 | text 10 | 01-01-2011
+ 0 | text 10 | 01-01-2011
+ 8 | text 3 | 01-09-2011
+ 8 | text 3 | 01-09-2011
+ 8 | text 3 | 01-09-2011
+ 8 | text 3 | 01-09-2011
+ 8 | text 3 | 01-09-2011
+ 8 | text 3 | 01-09-2011
+ 8 | text 3 | 01-09-2011
+ 8 | text 3 | 01-09-2011
+ 8 | text 3 | 01-09-2011
+ 8 | text 3 | 01-09-2011
+ 0 | text 5 | 01-11-2011
+ 0 | text 5 | 01-11-2011
+ 0 | text 5 | 01-11-2011
+ 0 | text 5 | 01-11-2011
+ 0 | text 5 | 01-11-2011
+ 0 | text 5 | 01-11-2011
+ 0 | text 5 | 01-11-2011
+ 0 | text 5 | 01-11-2011
+ 0 | text 5 | 01-11-2011
+ 0 | text 5 | 01-11-2011
8 | text 13 | 01-19-2011
8 | text 13 | 01-19-2011
8 | text 13 | 01-19-2011
@@ -1000,36 +1091,6 @@ select t1.* from smallt as t1, smallt as t2 where t1.i = t2.i;
0 | text 0 | 01-01-2011
0 | text 0 | 01-01-2011
0 | text 0 | 01-01-2011
- 2 | text 2 | 01-03-2011
- 2 | text 2 | 01-03-2011
- 2 | text 2 | 01-03-2011
- 2 | text 2 | 01-03-2011
- 2 | text 2 | 01-03-2011
- 2 | text 2 | 01-03-2011
- 2 | text 2 | 01-03-2011
- 2 | text 2 | 01-03-2011
- 2 | text 2 | 01-03-2011
- 2 | text 2 | 01-03-2011
- 4 | text 4 | 01-05-2011
- 4 | text 4 | 01-05-2011
- 4 | text 4 | 01-05-2011
- 4 | text 4 | 01-05-2011
- 4 | text 4 | 01-05-2011
- 4 | text 4 | 01-05-2011
- 4 | text 4 | 01-05-2011
- 4 | text 4 | 01-05-2011
- 4 | text 4 | 01-05-2011
- 4 | text 4 | 01-05-2011
- 6 | text 6 | 01-07-2011
- 6 | text 6 | 01-07-2011
- 6 | text 6 | 01-07-2011
- 6 | text 6 | 01-07-2011
- 6 | text 6 | 01-07-2011
- 6 | text 6 | 01-07-2011
- 6 | text 6 | 01-07-2011
- 6 | text 6 | 01-07-2011
- 6 | text 6 | 01-07-2011
- 6 | text 6 | 01-07-2011
8 | text 8 | 01-09-2011
8 | text 8 | 01-09-2011
8 | text 8 | 01-09-2011
@@ -1050,36 +1111,6 @@ select t1.* from smallt as t1, smallt as t2 where t1.i = t2.i;
0 | text 10 | 01-11-2011
0 | text 10 | 01-11-2011
0 | text 10 | 01-11-2011
- 2 | text 12 | 01-13-2011
- 2 | text 12 | 01-13-2011
- 2 | text 12 | 01-13-2011
- 2 | text 12 | 01-13-2011
- 2 | text 12 | 01-13-2011
- 2 | text 12 | 01-13-2011
- 2 | text 12 | 01-13-2011
- 2 | text 12 | 01-13-2011
- 2 | text 12 | 01-13-2011
- 2 | text 12 | 01-13-2011
- 4 | text 14 | 01-15-2011
- 4 | text 14 | 01-15-2011
- 4 | text 14 | 01-15-2011
- 4 | text 14 | 01-15-2011
- 4 | text 14 | 01-15-2011
- 4 | text 14 | 01-15-2011
- 4 | text 14 | 01-15-2011
- 4 | text 14 | 01-15-2011
- 4 | text 14 | 01-15-2011
- 4 | text 14 | 01-15-2011
- 6 | text 1 | 01-17-2011
- 6 | text 1 | 01-17-2011
- 6 | text 1 | 01-17-2011
- 6 | text 1 | 01-17-2011
- 6 | text 1 | 01-17-2011
- 6 | text 1 | 01-17-2011
- 6 | text 1 | 01-17-2011
- 6 | text 1 | 01-17-2011
- 6 | text 1 | 01-17-2011
- 6 | text 1 | 01-17-2011
8 | text 3 | 01-19-2011
8 | text 3 | 01-19-2011
8 | text 3 | 01-19-2011
@@ -1100,36 +1131,6 @@ select t1.* from smallt as t1, smallt as t2 where t1.i = t2.i;
0 | text 5 | 01-01-2011
0 | text 5 | 01-01-2011
0 | text 5 | 01-01-2011
- 2 | text 7 | 01-03-2011
- 2 | text 7 | 01-03-2011
- 2 | text 7 | 01-03-2011
- 2 | text 7 | 01-03-2011
- 2 | text 7 | 01-03-2011
- 2 | text 7 | 01-03-2011
- 2 | text 7 | 01-03-2011
- 2 | text 7 | 01-03-2011
- 2 | text 7 | 01-03-2011
- 2 | text 7 | 01-03-2011
- 4 | text 9 | 01-05-2011
- 4 | text 9 | 01-05-2011
- 4 | text 9 | 01-05-2011
- 4 | text 9 | 01-05-2011
- 4 | text 9 | 01-05-2011
- 4 | text 9 | 01-05-2011
- 4 | text 9 | 01-05-2011
- 4 | text 9 | 01-05-2011
- 4 | text 9 | 01-05-2011
- 4 | text 9 | 01-05-2011
- 6 | text 11 | 01-07-2011
- 6 | text 11 | 01-07-2011
- 6 | text 11 | 01-07-2011
- 6 | text 11 | 01-07-2011
- 6 | text 11 | 01-07-2011
- 6 | text 11 | 01-07-
<TRUNCATED>
[2/2] incubator-hawq git commit: HAWQ-148. Add new GUC
optimizer_prefer_scalar_dqa_multistage_agg to split scalar DQA into
multi-stage aggregates.
Posted by en...@apache.org.
HAWQ-148. Add new GUC optimizer_prefer_scalar_dqa_multistage_agg to split scalar DQA into multi-stage aggregates.
Closes #158
Project: http://git-wip-us.apache.org/repos/asf/incubator-hawq/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-hawq/commit/74d6057e
Tree: http://git-wip-us.apache.org/repos/asf/incubator-hawq/tree/74d6057e
Diff: http://git-wip-us.apache.org/repos/asf/incubator-hawq/diff/74d6057e
Branch: refs/heads/master
Commit: 74d6057ee84edd40b3816f40c2db671810b9cfd6
Parents: 9b2f045
Author: Xin Zhang <xz...@pivotal.io>
Authored: Wed Nov 25 16:53:32 2015 -0800
Committer: Entong Shen <sh...@gmail.com>
Committed: Thu Dec 3 13:53:59 2015 -0800
----------------------------------------------------------------------
.../gpopt/config/CConfigParamMapping.cpp | 7 +
src/backend/utils/misc/guc.c | 11 +
src/include/utils/guc.h | 1 +
.../regress/expected/eagerfree_optimizer.out | 2820 ++++++++++--------
4 files changed, 1536 insertions(+), 1303 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/74d6057e/src/backend/gpopt/config/CConfigParamMapping.cpp
----------------------------------------------------------------------
diff --git a/src/backend/gpopt/config/CConfigParamMapping.cpp b/src/backend/gpopt/config/CConfigParamMapping.cpp
index d36687f..827ae86 100644
--- a/src/backend/gpopt/config/CConfigParamMapping.cpp
+++ b/src/backend/gpopt/config/CConfigParamMapping.cpp
@@ -371,6 +371,13 @@ CConfigParamMapping::SConfigMappingElem CConfigParamMapping::m_elem[] =
&optimizer_prune_computed_columns,
true, // m_fNegate
GPOS_WSZ_LIT("Prune unused computed columns when pre-processing query")
+ },
+
+ {
+ EopttracePreferScalarDQAMultiStageAgg,
+ &optimizer_prefer_scalar_dqa_multistage_agg,
+ false, // m_fNegate
+ GPOS_WSZ_LIT("Prefer multistage aggregates for scalar distinct qualified aggregate in the optimizer.")
}
};
http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/74d6057e/src/backend/utils/misc/guc.c
----------------------------------------------------------------------
diff --git a/src/backend/utils/misc/guc.c b/src/backend/utils/misc/guc.c
index df56ae3..b82b3cb 100644
--- a/src/backend/utils/misc/guc.c
+++ b/src/backend/utils/misc/guc.c
@@ -762,6 +762,7 @@ bool sort_segments_enable;
bool optimizer_multilevel_partitioning;
bool optimizer_enable_derive_stats_all_groups;
bool optimizer_explain_show_status;
+bool optimizer_prefer_scalar_dqa_multistage_agg;
/* Security */
bool gp_reject_internal_tcp_conn = true;
@@ -4466,6 +4467,16 @@ static struct config_bool ConfigureNamesBool[] =
true, NULL, NULL
},
+ {
+ {"optimizer_prefer_scalar_dqa_multistage_agg", PGC_USERSET, DEVELOPER_OPTIONS,
+ gettext_noop("Prefer multistage aggregates for scalar distinct qualified aggregate in the optimizer."),
+ NULL,
+ GUC_NO_SHOW_ALL | GUC_NOT_IN_SAMPLE
+ },
+ &optimizer_prefer_scalar_dqa_multistage_agg,
+ true, NULL, NULL
+ },
+
/* End-of-list marker */
{
{NULL, 0, 0, NULL, NULL}, NULL, false, NULL, NULL
http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/74d6057e/src/include/utils/guc.h
----------------------------------------------------------------------
diff --git a/src/include/utils/guc.h b/src/include/utils/guc.h
index 1623ce8..59bd208 100644
--- a/src/include/utils/guc.h
+++ b/src/include/utils/guc.h
@@ -418,6 +418,7 @@ extern bool sort_segments_enable;
extern bool optimizer_multilevel_partitioning;
extern bool optimizer_enable_derive_stats_all_groups;
extern bool optimizer_explain_show_status;
+extern bool optimizer_prefer_scalar_dqa_multistage_agg;
/**
* Enable logging of DPE match in optimizer.