From: | David Rowley <dgrowleyml(at)gmail(dot)com> |
---|---|
To: | Manikandan Swaminathan <maniswami23(at)gmail(dot)com> |
Cc: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, pgsql-general(at)lists(dot)postgresql(dot)org |
Subject: | Re: Postgres Query Plan using wrong index |
Date: | 2025-04-03 04:41:43 |
Message-ID: | CAApHDvou3ZhHmQ6Qx9O9HbXigTu9oHdTFKibv96TyAbJ8WGYNw@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
On Thu, 3 Apr 2025 at 16:24, Manikandan Swaminathan
<maniswami23(at)gmail(dot)com> wrote:
> Since you mentioned the planner not knowing about the correlation between the columns, I’m curious, why doesn’t making a multivariate statistic make a difference?
>
>
> CREATE STATISTICS col_a_col_b_stats (dependencies) ON col_a, col_b FROM test_table;
> ANALYZE test_table;
Extended statistics won't help you here. "dependencies" just estimates
functional dependencies between the columns mentioned in the ON
clause. What we'd need to store to do better in your example query is
positional information of where certain values are within indexes
according to an ordered scan of the index. I don't quite know how we'd
represent that exactly, but if we knew that a row matching col_a >
4996 wasn't until somewhere near the end of idx_col_a_btree index,
then we'd likely not want to use that index for this query.
David
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2025-04-03 05:07:22 | Re: Postgres Query Plan using wrong index |
Previous Message | Manikandan Swaminathan | 2025-04-03 03:24:08 | Re: Postgres Query Plan using wrong index |