forked frompostgres/postgres
- Notifications
You must be signed in to change notification settings - Fork6
Commit787eba7
committed
When creating a large hash index, pre-sort the index entries by estimated
bucket number, so as to ensure locality of access to the index during theinsertion step. Without this, building an index significantly larger thanavailable RAM takes a very long time because of thrashing. On the otherhand, sorting is just useless overhead when the index does fit in RAM.We choose to sort when the initial index size exceeds effective_cache_size.This is a revised version of work by Tom Raney and Shreya Bhargava.1 parentec6550c commit787eba7
File tree
8 files changed
+324
-39
lines changed- src
- backend
- access
- hash
- nbtree
- utils/sort
- include
- access
- utils
8 files changed
+324
-39
lines changedLines changed: 2 additions & 2 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
4 | 4 |
| |
5 | 5 |
| |
6 | 6 |
| |
7 |
| - | |
| 7 | + | |
8 | 8 |
| |
9 | 9 |
| |
10 | 10 |
| |
| |||
13 | 13 |
| |
14 | 14 |
| |
15 | 15 |
| |
16 |
| - | |
| 16 | + | |
17 | 17 |
| |
18 | 18 |
|
Lines changed: 38 additions & 7 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 |
| |
| |||
22 | 22 |
| |
23 | 23 |
| |
24 | 24 |
| |
| 25 | + | |
25 | 26 |
| |
26 | 27 |
| |
27 | 28 |
| |
28 | 29 |
| |
29 | 30 |
| |
30 | 31 |
| |
31 |
| - | |
| 32 | + | |
| 33 | + | |
32 | 34 |
| |
33 | 35 |
| |
34 | 36 |
| |
| |||
51 | 53 |
| |
52 | 54 |
| |
53 | 55 |
| |
| 56 | + | |
54 | 57 |
| |
55 | 58 |
| |
56 | 59 |
| |
| |||
61 | 64 |
| |
62 | 65 |
| |
63 | 66 |
| |
64 |
| - | |
| 67 | + | |
65 | 68 |
| |
66 | 69 |
| |
67 |
| - | |
68 |
| - | |
| 70 | + | |
| 71 | + | |
69 | 72 |
| |
70 |
| - | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
71 | 91 |
| |
72 | 92 |
| |
73 | 93 |
| |
74 | 94 |
| |
75 | 95 |
| |
76 | 96 |
| |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
77 | 104 |
| |
78 | 105 |
| |
79 | 106 |
| |
| |||
110 | 137 |
| |
111 | 138 |
| |
112 | 139 |
| |
113 |
| - | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
114 | 145 |
| |
115 | 146 |
| |
116 | 147 |
| |
|
Lines changed: 20 additions & 3 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 |
| |
| |||
315 | 315 |
| |
316 | 316 |
| |
317 | 317 |
| |
318 |
| - | |
| 318 | + | |
| 319 | + | |
319 | 320 |
| |
320 | 321 |
| |
321 | 322 |
| |
322 | 323 |
| |
323 | 324 |
| |
324 |
| - | |
| 325 | + | |
325 | 326 |
| |
326 | 327 |
| |
327 | 328 |
| |
| |||
437 | 438 |
| |
438 | 439 |
| |
439 | 440 |
| |
| 441 | + | |
| 442 | + | |
| 443 | + | |
| 444 | + | |
| 445 | + | |
| 446 | + | |
| 447 | + | |
| 448 | + | |
440 | 449 |
| |
441 | 450 |
| |
442 | 451 |
| |
443 | 452 |
| |
444 | 453 |
| |
| 454 | + | |
| 455 | + | |
| 456 | + | |
445 | 457 |
| |
446 | 458 |
| |
447 | 459 |
| |
| |||
453 | 465 |
| |
454 | 466 |
| |
455 | 467 |
| |
| 468 | + | |
| 469 | + | |
| 470 | + | |
456 | 471 |
| |
457 | 472 |
| |
458 | 473 |
| |
459 | 474 |
| |
460 | 475 |
| |
461 | 476 |
| |
462 | 477 |
| |
| 478 | + | |
| 479 | + | |
463 | 480 |
| |
464 | 481 |
| |
465 | 482 |
| |
|
Lines changed: 116 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 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 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + |
Lines changed: 3 additions & 3 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
57 | 57 |
| |
58 | 58 |
| |
59 | 59 |
| |
60 |
| - | |
| 60 | + | |
61 | 61 |
| |
62 | 62 |
| |
63 | 63 |
| |
| |||
158 | 158 |
| |
159 | 159 |
| |
160 | 160 |
| |
161 |
| - | |
162 |
| - | |
| 161 | + | |
| 162 | + | |
163 | 163 |
| |
164 | 164 |
| |
165 | 165 |
| |
|
0 commit comments
Comments
(0)