Never precalculate stats for LIMIT pushdown #22471
Closed
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.
Description
This removes the ability to precalc stats for a LIMIT pushdown. I am unaware of a situation where the stats would be useful for a simple LIMIT pushdown. We could obviously make this specific to sql server only if requested, but I don't see value in this regardless.
Additional context and related issues
This came out of a complaint from a starburst customer. In SQL Server, because the statistics are gathered on a per-column basis, this causes
SELECT * FROM foo LIMIT 3
to be much, much slower thanSELECT * FROM foo
. I attempted to improve the performance of that procedure usingdm_db_stats_histogram
, but this proved to not have all the same information. The only other remediation would be to not precalculate stats for LIMIT pushdown on sql server specifically, but i don't believe a simple limited table scan could possibly benefit from stats, hence this PR to remove it entirely.Release notes
(X) This is not user-visible or is docs only, and no release notes are required.
( ) Release notes are required. Please propose a release note for me.
( ) Release notes are required, with the following suggested text: