mirror of https://github.com/citusdata/citus.git
227 lines
6.3 KiB
Plaintext
227 lines
6.3 KiB
Plaintext
SET citus.log_multi_join_order to TRUE;
|
|
SET client_min_messages to DEBUG1;
|
|
SET citus.enable_repartition_joins to on;
|
|
SELECT
|
|
l_partkey, l_suppkey, count(*)
|
|
FROM
|
|
lineitem, part_append, supplier
|
|
WHERE
|
|
l_partkey = p_partkey
|
|
AND l_suppkey < s_suppkey
|
|
GROUP BY
|
|
l_partkey, l_suppkey
|
|
ORDER BY
|
|
l_partkey, l_suppkey
|
|
LIMIT 10;
|
|
LOG: join order: [ "lineitem" ][ reference join "supplier" ][ dual partition join "part_append" ]
|
|
DEBUG: push down of limit count: 10
|
|
l_partkey | l_suppkey | count
|
|
---------------------------------------------------------------------
|
|
195 | 196 | 804
|
|
245 | 246 | 754
|
|
278 | 279 | 721
|
|
308 | 309 | 691
|
|
309 | 310 | 1380
|
|
350 | 351 | 649
|
|
358 | 359 | 641
|
|
574 | 575 | 425
|
|
641 | 642 | 358
|
|
654 | 655 | 345
|
|
(10 rows)
|
|
|
|
SELECT
|
|
l_partkey, l_suppkey, count(*)
|
|
FROM
|
|
lineitem, part_append, supplier
|
|
WHERE
|
|
l_partkey = p_partkey
|
|
AND int4eq(l_suppkey, s_suppkey)
|
|
GROUP BY
|
|
l_partkey, l_suppkey
|
|
ORDER BY
|
|
l_partkey, l_suppkey
|
|
LIMIT 10;
|
|
LOG: join order: [ "lineitem" ][ reference join "supplier" ][ dual partition join "part_append" ]
|
|
DEBUG: push down of limit count: 10
|
|
l_partkey | l_suppkey | count
|
|
---------------------------------------------------------------------
|
|
195 | 196 | 1
|
|
245 | 246 | 1
|
|
278 | 279 | 1
|
|
308 | 309 | 1
|
|
309 | 310 | 2
|
|
350 | 351 | 1
|
|
358 | 359 | 1
|
|
574 | 575 | 1
|
|
641 | 642 | 1
|
|
654 | 655 | 1
|
|
(10 rows)
|
|
|
|
SELECT
|
|
l_partkey, l_suppkey, count(*)
|
|
FROM
|
|
lineitem, part_append, supplier
|
|
WHERE
|
|
l_partkey = p_partkey
|
|
AND NOT int4ne(l_suppkey, s_suppkey)
|
|
GROUP BY
|
|
l_partkey, l_suppkey
|
|
ORDER BY
|
|
l_partkey, l_suppkey
|
|
LIMIT 10;
|
|
LOG: join order: [ "lineitem" ][ reference join "supplier" ][ dual partition join "part_append" ]
|
|
DEBUG: push down of limit count: 10
|
|
l_partkey | l_suppkey | count
|
|
---------------------------------------------------------------------
|
|
195 | 196 | 1
|
|
245 | 246 | 1
|
|
278 | 279 | 1
|
|
308 | 309 | 1
|
|
309 | 310 | 2
|
|
350 | 351 | 1
|
|
358 | 359 | 1
|
|
574 | 575 | 1
|
|
641 | 642 | 1
|
|
654 | 655 | 1
|
|
(10 rows)
|
|
|
|
SELECT
|
|
l_partkey, l_suppkey, count(*)
|
|
FROM
|
|
lineitem, part_append, supplier
|
|
WHERE
|
|
l_partkey = p_partkey
|
|
GROUP BY
|
|
l_partkey, l_suppkey
|
|
ORDER BY
|
|
l_partkey, l_suppkey
|
|
LIMIT 10;
|
|
LOG: join order: [ "lineitem" ][ dual partition join "part_append" ][ cartesian product reference join "supplier" ]
|
|
DEBUG: push down of limit count: 10
|
|
l_partkey | l_suppkey | count
|
|
---------------------------------------------------------------------
|
|
18 | 7519 | 1000
|
|
79 | 7580 | 1000
|
|
91 | 2592 | 1000
|
|
149 | 5150 | 1000
|
|
149 | 7650 | 1000
|
|
175 | 5176 | 1000
|
|
179 | 2680 | 1000
|
|
182 | 7683 | 1000
|
|
195 | 196 | 1000
|
|
204 | 7705 | 1000
|
|
(10 rows)
|
|
|
|
SELECT
|
|
l_partkey, l_suppkey, count(*)
|
|
FROM
|
|
lineitem, part_append, supplier
|
|
WHERE
|
|
l_partkey = p_partkey
|
|
AND (int4eq(l_suppkey, s_suppkey) OR l_suppkey = s_suppkey)
|
|
GROUP BY
|
|
l_partkey, l_suppkey
|
|
ORDER BY
|
|
l_partkey, l_suppkey
|
|
LIMIT 10;
|
|
LOG: join order: [ "lineitem" ][ reference join "supplier" ][ dual partition join "part_append" ]
|
|
DEBUG: push down of limit count: 10
|
|
l_partkey | l_suppkey | count
|
|
---------------------------------------------------------------------
|
|
195 | 196 | 1
|
|
245 | 246 | 1
|
|
278 | 279 | 1
|
|
308 | 309 | 1
|
|
309 | 310 | 2
|
|
350 | 351 | 1
|
|
358 | 359 | 1
|
|
574 | 575 | 1
|
|
641 | 642 | 1
|
|
654 | 655 | 1
|
|
(10 rows)
|
|
|
|
SELECT
|
|
l_partkey, l_suppkey, count(*)
|
|
FROM
|
|
lineitem, part_append, supplier
|
|
WHERE
|
|
l_partkey = p_partkey
|
|
AND (int4eq(l_suppkey, s_suppkey) OR random() > 2)
|
|
GROUP BY
|
|
l_partkey, l_suppkey
|
|
ORDER BY
|
|
l_partkey, l_suppkey
|
|
LIMIT 10;
|
|
LOG: join order: [ "lineitem" ][ reference join "supplier" ][ dual partition join "part_append" ]
|
|
DEBUG: push down of limit count: 10
|
|
l_partkey | l_suppkey | count
|
|
---------------------------------------------------------------------
|
|
195 | 196 | 1
|
|
245 | 246 | 1
|
|
278 | 279 | 1
|
|
308 | 309 | 1
|
|
309 | 310 | 2
|
|
350 | 351 | 1
|
|
358 | 359 | 1
|
|
574 | 575 | 1
|
|
641 | 642 | 1
|
|
654 | 655 | 1
|
|
(10 rows)
|
|
|
|
SELECT
|
|
l_partkey, l_suppkey, count(*)
|
|
FROM
|
|
lineitem, part_append, supplier
|
|
WHERE
|
|
l_partkey = p_partkey
|
|
AND (l_suppkey = 1 OR s_suppkey = 1)
|
|
GROUP BY
|
|
l_partkey, l_suppkey
|
|
ORDER BY
|
|
l_partkey, l_suppkey
|
|
LIMIT 10;
|
|
LOG: join order: [ "lineitem" ][ reference join "supplier" ][ dual partition join "part_append" ]
|
|
DEBUG: push down of limit count: 10
|
|
l_partkey | l_suppkey | count
|
|
---------------------------------------------------------------------
|
|
18 | 7519 | 1
|
|
79 | 7580 | 1
|
|
91 | 2592 | 1
|
|
149 | 5150 | 1
|
|
149 | 7650 | 1
|
|
175 | 5176 | 1
|
|
179 | 2680 | 1
|
|
182 | 7683 | 1
|
|
195 | 196 | 1
|
|
204 | 7705 | 1
|
|
(10 rows)
|
|
|
|
SELECT
|
|
l_partkey, l_suppkey, count(*)
|
|
FROM
|
|
lineitem, part_append, supplier
|
|
WHERE
|
|
l_partkey = p_partkey
|
|
AND l_partkey + p_partkey = s_suppkey
|
|
GROUP BY
|
|
l_partkey, l_suppkey
|
|
ORDER BY
|
|
l_partkey, l_suppkey
|
|
LIMIT 10;
|
|
LOG: join order: [ "lineitem" ][ dual partition join "part_append" ][ reference join "supplier" ]
|
|
DEBUG: push down of limit count: 10
|
|
l_partkey | l_suppkey | count
|
|
---------------------------------------------------------------------
|
|
18 | 7519 | 1
|
|
79 | 7580 | 1
|
|
91 | 2592 | 1
|
|
149 | 5150 | 1
|
|
149 | 7650 | 1
|
|
175 | 5176 | 1
|
|
179 | 2680 | 1
|
|
182 | 7683 | 1
|
|
195 | 196 | 1
|
|
204 | 7705 | 1
|
|
(10 rows)
|
|
|