Measure TIN strategy, visibility, and CTID layout behavior - #35
Merged
Merged
Conversation
bweis
marked this pull request as ready for review
September 19, 2026 22:10
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Small TIN fixtures hid important differences in filtering, prepared plans, visibility, and index layout. This adds bounded remote experiments through the existing
benchmarks/tin.py experimentcommand and records 4,896 query probes up to one million Wikipedia articles, plus 24 concurrency windows. The larger deployment was a user-confirmed PS-160 ARM with EBS, 2 vCPU and 16 GiB RAM.The results support filtered TID pushdown as a concrete Stannum optimization target: it beat TIN's automatic choice on both machines and at one million rows, and the result held after controlling visibility. They also show costly forced-generic dynamic-LIMIT plans, count timings dominated by visibility state, and compact physical-TID indexing across a 33-fold change in heap-page span. Checked-in summaries and 21 complete plan examples distinguish observations from implementation hypotheses.
The collector retains SQL, complete plans, source snapshots, segment state and client samples; uses session-only controls and uniquely owned schemas; and records individual query errors without hiding incomplete runs. Credentials are excluded. A million-row REINDEX and cleanup initially hit a three-second lock timeout; a separately recorded recovery completed REINDEX, passed TIN fsck, and verified cleanup. A live lock-holder regression verified the bounded maintenance wait and setting restoration.
Validation:
The database experiments are complete. Full CI must pass before merge. These results do not establish TIN/Stannum performance parity or reveal TIN's compression codec or SIMD implementation.