Teach TID store to skip bitmap for small numbers of offsets
John Naylor <john.naylor@postgresql.org>
Teach TID store to skip bitmap for small numbers of offsets The header portion of BlocktableEntry has enough padding space for an array of 3 offsets (1 on 32-bit platforms). Use this space instead of having a sparse bitmap array. This will take up a constant amount of space no matter what the offsets are. Reviewed (in an earlier version) by Masahiko Sawada Discussion: https://postgr.es/m/CANWCAZYw+_KAaUNruhJfE=h6WgtBKeDG32St8vBJBEY82bGVRQ@mail.gmail.com Discussion: https://postgr.es/m/CAD21AoBci3Hujzijubomo1tdwH3XtQ9F89cTNQ4bsQijOmqnEw@mail.gmail.com
Files
| Path | Change | +/− |
|---|---|---|
| src/backend/access/common/tidstore.c | modified | +92 −37 |
| src/test/modules/test_tidstore/expected/test_tidstore.out | modified | +28 −0 |
| src/test/modules/test_tidstore/sql/test_tidstore.sql | modified | +10 −0 |
Discussion
- [PoC] Improve dead tuple storage for lazy vacuum 462 messages · 2021-07-07 → 2024-05-08