(1) Decreasing the number of gets in the index range scan operation due to indexes are more compressed
(2) Increasing the chances of caching, thus reducing the need to wait for db file sequential read.
For example, let's say, index entry 1 is in block 1 and entry 2 is in block 2 before rebuild, so Oracle needs to read block1 and 2 to the buffer cache to delete them; while after rebuild both entry 1 and entry 2 could be in block 1, so Oracle needs to read block 1 once and can work on two entries.
Among those 5 tables, the top-most expensive delete is the one from a table called ORDER_TRANS. There is an index called ORDER_TRANS_IX4 of this table is 16GB after rebuild as compared to 150GB before rebuild. Why is the index so sparse? The index is on the LAST_MODIFIED_DATE column of the table. This is a typical right-hand index, i.e. new index key entries are added to the right hand size of the index tree. The key value is monotonically increasing, like a sequence-based PK. If assuming a leaf block of the index can hold 360 index entries, 99.9% blocks (hold <=180 entries) are >50% empty; 97.5% blocks (hold <=90 entries) are >75% empty. (see appendix) .The reasons that why especially right-hand index can grow bigger are described in a Jonathan Lewis's blog post. In my particular case, I believe the problems of the archival procedure itself contribute to the sparsity of the index greatly.
The candidate orders that are eligible for archiving is based on certain business logic. However I found that there are very old orders. e.g. competed in 2004, 2005, that are not selected out for archiving. I confirmed with a lead developer who called those orders "fallout" that those orders should be updated so that they could become eligible for archiving long time ago. In addition, the orders are not selected based on the increasing order of its completion date or cancel date. We can imagine that if we really archive old orders based on their completion or cancel date, i.e, the older the earlier to be archived, we won't have that sparse index in the first place, because left-hand size leaf block can become empty much sooner and easily and thus reused.
In summary, it appears that rebuild index improves our archival procedure performance; however, we may want to look it in the other way around. If the old orders are really archived based on common sense, we probably don't need to rebuild index at all.
Appendix - How the leaf blocks of ORDER_TRANS_IX4 are used based on JL's script. ( Sample 5% blocks)
ROWS_PER_BLOCK BLOCKS ROW_CT CUMULATIVE_BLOCKS
-------------- ---------- ---------- -----------------
1 16232 16232 16232
2 14696 29392 30928
3 13739 41217 44667
4 13840 55360 58507
5 13316 66580 71823
6 13859 83154 85682
7 13787 96509 99469
8 13842 110736 113311
9 13937 125433 127248
10 14127 141270 141375
11 14244 156684 155619
12 14528 174336 170147
13 14566 189358 184713
14 15005 210070 199718
15 15150 227250 214868
16 15492 247872 230360
17 15868 269756 246228
18 16015 288270 262243
19 16026 304494 278269
20 16217 324340 294486
21 16106 338226 310592
22 16121 354662 326713
23 16257 373911 342970
24 15860 380640 358830
25 15912 397800 374742
26 15920 413920 390662
27 15859 428193 406521
28 15462 432936 421983
29 15288 443352 437271
30 15095 452850 452366
31 15346 475726 467712
32 15000 480000 482712
33 14832 489456 497544
34 14719 500446 512263
35 14147 495145 526410
36 13925 501300 540335
37 13671 505827 554006
38 13452 511176 567458
39 13278 517842 580736
40 13109 524360 593845
41 13040 534640 606885
42 12801 537642 619686
43 12338 530534 632024
44 11986 527384 644010
45 11732 527940 655742
46 11123 511658 666865
47 11126 522922 677991
48 10896 523008 688887
49 10546 516754 699433
50 10178 508900 709611
51 9644 491844 719255
52 9593 498836 728848
53 9208 488024 738056
54 9009 486486 747065
55 8421 463155 755486
56 8393 470008 763879
57 7992 455544 771871
58 7651 443758 779522
59 7329 432411 786851
60 6941 416460 793792
61 6662 406382 800454
62 6526 404612 806980
63 6320 398160 813300
64 5864 375296 819164
65 5687 369655 824851
66 5334 352044 830185
67 5182 347194 835367
68 4953 336804 840320
69 4728 326232 845048
70 4379 306530 849427
71 4219 299549 853646
72 4124 296928 857770
73 3769 275137 861539
74 3737 276538 865276
75 3553 266475 868829
76 3268 248368 872097
77 3102 238854 875199
78 3010 234780 878209
79 2860 225940 881069
80 2608 208640 883677
81 2552 206712 886229
82 2408 197456 888637
83 2238 185754 890875
84 2236 187824 893111
85 1989 169065 895100
86 1883 161938 896983
87 1737 151119 898720
88 1705 150040 900425
89 1627 144803 902052
90 1479 133110 903531
91 1447 131677 904978
92 1314 120888 906292
93 1316 122388 907608
94 1207 113458 908815
95 1258 119510 910073
96 1065 102240 911138
97 1049 101753 912187
98 974 95452 913161
99 927 91773 914088
100 919 91900 915007
101 877 88577 915884
102 828 84456 916712
103 794 81782 917506
104 666 69264 918172
105 635 66675 918807
106 617 65402 919424
107 549 58743 919973
108 458 49464 920431
109 475 51775 920906
110 292 32120 921198
111 243 26973 921441
112 244 27328 921685
113 201 22713 921886
114 219 24966 922105
115 169 19435 922274
116 150 17400 922424
117 167 19539 922591
118 177 20886 922768
119 128 15232 922896
120 135 16200 923031
121 140 16940 923171
122 134 16348 923305
123 130 15990 923435
124 99 12276 923534
125 107 13375 923641
126 104 13104 923745
127 84 10668 923829
128 106 13568 923935
129 86 11094 924021
130 68 8840 924089
131 97 12707 924186
132 71 9372 924257
133 71 9443 924328
134 61 8174 924389
135 72 9720 924461
136 82 11152 924543
137 48 6576 924591
138 72 9936 924663
139 64 8896 924727
140 58 8120 924785
141 41 5781 924826
142 41 5822 924867
143 35 5005 924902
144 45 6480 924947
145 39 5655 924986
146 37 5402 925023
147 32 4704 925055
148 39 5772 925094
149 26 3874 925120
150 25 3750 925145
151 38 5738 925183
152 33 5016 925216
153 34 5202 925250
154 36 5544 925286
155 33 5115 925319
156 29 4524 925348
157 33 5181 925381
158 25 3950 925406
159 22 3498 925428
160 34 5440 925462
161 22 3542 925484
162 21 3402 925505
163 21 3423 925526
164 22 3608 925548
165 21 3465 925569
166 25 4150 925594
167 19 3173 925613
168 17 2856 925630
169 16 2704 925646
170 15 2550 925661
171 17 2907 925678
172 9 1548 925687
173 9 1557 925696
174 17 2958 925713
175 13 2275 925726
176 16 2816 925742
177 13 2301 925755
178 14 2492 925769
179 10 1790 925779
180 7 1260 925786
181 7 1267 925793
182 6 1092 925799
183 9 1647 925808
184 7 1288 925815
185 7 1295 925822
186 9 1674 925831
187 6 1122 925837
188 8 1504 925845
189 5 945 925850
190 7 1330 925857
191 5 955 925862
192 9 1728 925871
193 6 1158 925877
194 5 970 925882
195 8 1560 925890
196 8 1568 925898
197 9 1773 925907
198 6 1188 925913
199 5 995 925918
200 3 600 925921
201 2 402 925923
202 6 1212 925929
203 5 1015 925934
204 5 1020 925939
205 4 820 925943
206 5 1030 925948
207 3 621 925951
209 1 209 925952
210 5 1050 925957
211 3 633 925960
212 3 636 925963
213 3 639 925966
214 4 856 925970
215 3 645 925973
216 1 216 925974
217 2 434 925976
218 4 872 925980
219 3 657 925983
220 2 440 925985
221 2 442 925987
222 2 444 925989
223 4 892 925993
224 2 448 925995
225 2 450 925997
226 2 452 925999
227 2 454 926001
228 1 228 926002
229 4 916 926006
230 5 1150 926011
231 2 462 926013
232 3 696 926016
233 2 466 926018
234 1 234 926019
235 5 1175 926024
236 3 708 926027
237 3 711 926030
239 3 717 926033
240 4 960 926037
241 4 964 926041
242 1 242 926042
243 2 486 926044
244 5 1220 926049
245 3 735 926052
246 2 492 926054
248 1 248 926055
249 1 249 926056
250 2 500 926058
252 4 1008 926062
255 4 1020 926066
256 4 1024 926070
257 2 514 926072
258 1 258 926073
259 4 1036 926077
261 1 261 926078
262 2 524 926080
263 1 263 926081
264 2 528 926083
265 1 265 926084
266 2 532 926086
267 4 1068 926090
268 2 536 926092
269 2 538 926094
271 1 271 926095
272 1 272 926096
273 3 819 926099
275 2 550 926101
277 1 277 926102
278 1 278 926103
279 1 279 926104
280 2 560 926106
281 1 281 926107
283 1 283 926108
284 3 852 926111
285 1 285 926112
286 3 858 926115
288 2 576 926117
289 1 289 926118
290 1 290 926119
291 2 582 926121
292 3 876 926124
293 3 879 926127
294 1 294 926128
295 1 295 926129
296 1 296 926130
297 2 594 926132
298 2 596 926134
299 1 299 926135
301 1 301 926136
302 4 1208 926140
305 1 305 926141
306 1 306 926142
308 1 308 926143
309 3 927 926146
310 1 310 926147
313 1 313 926148
314 1 314 926149
315 2 630 926151
317 1 317 926152
318 2 636 926154
319 1 319 926155
320 2 640 926157
321 2 642 926159
322 3 966 926162
323 2 646 926164
324 2 648 926166
325 1 325 926167
326 1 326 926168
327 2 654 926170
328 3 984 926173
329 3 987 926176
330 3 990 926179
331 2 662 926181
332 2 664 926183
333 2 666 926185
334 2 668 926187
335 2 670 926189
336 1 336 926190
337 2 674 926192
338 3 1014 926195
340 3 1020 926198
341 3 1023 926201
342 1 342 926202
343 3 1029 926205
344 6 2064 926211
345 4 1380 926215
346 2 692 926217
347 2 694 926219
348 4 1392 926223
349 4 1396 926227
350 5 1750 926232
351 3 1053 926235
352 4 1408 926239
354 3 1062 926242
355 5 1775 926247
356 5 1780 926252
357 4 1428 926256
358 6 2148 926262
359 2 718 926264
360 6 2160 926270
361 9 3249 926279
362 6 2172 926285
363 5 1815 926290
364 6 2184 926296
365 9 3285 926305
366 11 4026 926316
367 43 15781 926359
---------- ----------
sum 926359 32433921
No comments:
Post a Comment