- Notifications
You must be signed in to change notification settings - Fork5
Commit596efd2
committed
Optimize multi-batch hash joins when the outer relation has a nonuniform
distribution, by creating a special fast path for the (first few) most commonvalues of the outer relation. Tuples having hashvalues matching the MCVsare effectively forced to be in the first batch, so that we never writethem out to the batch temp files.Bryce Cutt and Ramon Lawrence, with some editorialization by me.1 parent249d936 commit596efd2
File tree
10 files changed
+604
-34
lines changed- src
- backend
- executor
- nodes
- optimizer
- path
- plan
- include
- executor
- nodes
10 files changed
+604
-34
lines changedLines changed: 435 additions & 10 deletions
Large diffs are not rendered by default.
Lines changed: 24 additions & 5 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
8 | 8 |
| |
9 | 9 |
| |
10 | 10 |
| |
11 |
| - | |
| 11 | + | |
12 | 12 |
| |
13 | 13 |
| |
14 | 14 |
| |
| |||
198 | 198 |
| |
199 | 199 |
| |
200 | 200 |
| |
201 |
| - | |
202 |
| - | |
| 201 | + | |
| 202 | + | |
203 | 203 |
| |
204 | 204 |
| |
205 | 205 |
| |
206 | 206 |
| |
| 207 | + | |
| 208 | + | |
207 | 209 |
| |
208 | 210 |
| |
209 | 211 |
| |
210 | 212 |
| |
211 |
| - | |
| 213 | + | |
| 214 | + | |
212 | 215 |
| |
213 |
| - | |
| 216 | + | |
| 217 | + | |
214 | 218 |
| |
215 | 219 |
| |
216 | 220 |
| |
| |||
452 | 456 |
| |
453 | 457 |
| |
454 | 458 |
| |
| 459 | + | |
455 | 460 |
| |
456 | 461 |
| |
457 | 462 |
| |
| |||
651 | 656 |
| |
652 | 657 |
| |
653 | 658 |
| |
| 659 | + | |
| 660 | + | |
| 661 | + | |
| 662 | + | |
| 663 | + | |
| 664 | + | |
| 665 | + | |
| 666 | + | |
| 667 | + | |
| 668 | + | |
| 669 | + | |
| 670 | + | |
| 671 | + | |
654 | 672 |
| |
655 | 673 |
| |
656 | 674 |
| |
| |||
880 | 898 |
| |
881 | 899 |
| |
882 | 900 |
| |
| 901 | + | |
883 | 902 |
| |
884 | 903 |
| |
885 | 904 |
| |
|
Lines changed: 5 additions & 1 deletion
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
15 | 15 |
| |
16 | 16 |
| |
17 | 17 |
| |
18 |
| - | |
| 18 | + | |
19 | 19 |
| |
20 | 20 |
| |
21 | 21 |
| |
| |||
735 | 735 |
| |
736 | 736 |
| |
737 | 737 |
| |
| 738 | + | |
| 739 | + | |
| 740 | + | |
| 741 | + | |
738 | 742 |
| |
739 | 743 |
| |
740 | 744 |
| |
|
Lines changed: 6 additions & 1 deletion
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
8 | 8 |
| |
9 | 9 |
| |
10 | 10 |
| |
11 |
| - | |
| 11 | + | |
12 | 12 |
| |
13 | 13 |
| |
14 | 14 |
| |
| |||
675 | 675 |
| |
676 | 676 |
| |
677 | 677 |
| |
| 678 | + | |
| 679 | + | |
| 680 | + | |
| 681 | + | |
| 682 | + | |
678 | 683 |
| |
679 | 684 |
| |
680 | 685 |
| |
|
Lines changed: 15 additions & 3 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
54 | 54 |
| |
55 | 55 |
| |
56 | 56 |
| |
57 |
| - | |
| 57 | + | |
58 | 58 |
| |
59 | 59 |
| |
60 | 60 |
| |
| |||
1821 | 1821 |
| |
1822 | 1822 |
| |
1823 | 1823 |
| |
| 1824 | + | |
1824 | 1825 |
| |
1825 | 1826 |
| |
1826 | 1827 |
| |
| |||
1862 | 1863 |
| |
1863 | 1864 |
| |
1864 | 1865 |
| |
1865 |
| - | |
| 1866 | + | |
| 1867 | + | |
| 1868 | + | |
| 1869 | + | |
| 1870 | + | |
| 1871 | + | |
| 1872 | + | |
| 1873 | + | |
| 1874 | + | |
| 1875 | + | |
1866 | 1876 |
| |
1867 | 1877 |
| |
| 1878 | + | |
1868 | 1879 |
| |
1869 |
| - | |
| 1880 | + | |
| 1881 | + | |
1870 | 1882 |
| |
1871 | 1883 |
| |
1872 | 1884 |
| |
|
Lines changed: 58 additions & 4 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
10 | 10 |
| |
11 | 11 |
| |
12 | 12 |
| |
13 |
| - | |
| 13 | + | |
14 | 14 |
| |
15 | 15 |
| |
16 | 16 |
| |
| |||
112 | 112 |
| |
113 | 113 |
| |
114 | 114 |
| |
115 |
| - | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
116 | 120 |
| |
117 | 121 |
| |
118 | 122 |
| |
| |||
1864 | 1868 |
| |
1865 | 1869 |
| |
1866 | 1870 |
| |
| 1871 | + | |
| 1872 | + | |
| 1873 | + | |
| 1874 | + | |
1867 | 1875 |
| |
1868 | 1876 |
| |
1869 | 1877 |
| |
| |||
1902 | 1910 |
| |
1903 | 1911 |
| |
1904 | 1912 |
| |
| 1913 | + | |
| 1914 | + | |
| 1915 | + | |
| 1916 | + | |
| 1917 | + | |
| 1918 | + | |
| 1919 | + | |
| 1920 | + | |
| 1921 | + | |
| 1922 | + | |
| 1923 | + | |
| 1924 | + | |
| 1925 | + | |
| 1926 | + | |
| 1927 | + | |
| 1928 | + | |
| 1929 | + | |
| 1930 | + | |
| 1931 | + | |
| 1932 | + | |
| 1933 | + | |
| 1934 | + | |
| 1935 | + | |
| 1936 | + | |
| 1937 | + | |
| 1938 | + | |
| 1939 | + | |
| 1940 | + | |
| 1941 | + | |
| 1942 | + | |
| 1943 | + | |
| 1944 | + | |
| 1945 | + | |
1905 | 1946 |
| |
1906 | 1947 |
| |
1907 | 1948 |
| |
1908 |
| - | |
| 1949 | + | |
| 1950 | + | |
| 1951 | + | |
| 1952 | + | |
| 1953 | + | |
1909 | 1954 |
| |
1910 | 1955 |
| |
1911 | 1956 |
| |
| |||
2713 | 2758 |
| |
2714 | 2759 |
| |
2715 | 2760 |
| |
2716 |
| - | |
| 2761 | + | |
| 2762 | + | |
| 2763 | + | |
| 2764 | + | |
| 2765 | + | |
2717 | 2766 |
| |
2718 | 2767 |
| |
2719 | 2768 |
| |
| |||
2730 | 2779 |
| |
2731 | 2780 |
| |
2732 | 2781 |
| |
| 2782 | + | |
| 2783 | + | |
| 2784 | + | |
| 2785 | + | |
| 2786 | + | |
2733 | 2787 |
| |
2734 | 2788 |
| |
2735 | 2789 |
| |
|
Lines changed: 39 additions & 1 deletion
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
7 | 7 |
| |
8 | 8 |
| |
9 | 9 |
| |
10 |
| - | |
| 10 | + | |
11 | 11 |
| |
12 | 12 |
| |
13 | 13 |
| |
| |||
72 | 72 |
| |
73 | 73 |
| |
74 | 74 |
| |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
75 | 105 |
| |
76 | 106 |
| |
77 | 107 |
| |
| |||
82 | 112 |
| |
83 | 113 |
| |
84 | 114 |
| |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
85 | 121 |
| |
86 | 122 |
| |
87 | 123 |
| |
| |||
113 | 149 |
| |
114 | 150 |
| |
115 | 151 |
| |
| 152 | + | |
| 153 | + | |
116 | 154 |
| |
117 | 155 |
| |
118 | 156 |
| |
|
Lines changed: 5 additions & 3 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
7 | 7 |
| |
8 | 8 |
| |
9 | 9 |
| |
10 |
| - | |
| 10 | + | |
11 | 11 |
| |
12 | 12 |
| |
13 | 13 |
| |
| |||
41 | 41 |
| |
42 | 42 |
| |
43 | 43 |
| |
44 |
| - | |
| 44 | + | |
45 | 45 |
| |
46 |
| - | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
47 | 49 |
| |
48 | 50 |
|
Lines changed: 6 additions & 4 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
7 | 7 |
| |
8 | 8 |
| |
9 | 9 |
| |
10 |
| - | |
| 10 | + | |
11 | 11 |
| |
12 | 12 |
| |
13 | 13 |
| |
| |||
1374 | 1374 |
| |
1375 | 1375 |
| |
1376 | 1376 |
| |
1377 |
| - | |
| 1377 | + | |
| 1378 | + | |
1378 | 1379 |
| |
1379 | 1380 |
| |
1380 |
| - | |
1381 |
| - | |
| 1381 | + | |
| 1382 | + | |
1382 | 1383 |
| |
1383 | 1384 |
| |
1384 | 1385 |
| |
| |||
1403 | 1404 |
| |
1404 | 1405 |
| |
1405 | 1406 |
| |
| 1407 | + | |
1406 | 1408 |
| |
1407 | 1409 |
| |
1408 | 1410 |
| |
|
0 commit comments
Comments
(0)