Re: BTREE index: field ordering - Mailing list pgsql-general

From David G. Johnston
Subject Re: BTREE index: field ordering
Date
Msg-id CAKFQuwZKD=6PQyuC-_Krw8qOESYNhOC+ZNDQYYgqC5402kY0nA@mail.gmail.com
Whole thread Raw
In response to Re: BTREE index: field ordering  (Ron Johnson <ronljohnsonjr@gmail.com>)
Responses Re: BTREE index: field ordering
List pgsql-general
On Fri, Mar 28, 2025 at 9:24 AM Ron Johnson <ronljohnsonjr@gmail.com> wrote:

"at least for WHERE conditions that are selective" confuses me.  Aren't _all_ WHERE clauses selective?


From earlier in the email, selectivity is a scale, the wording here implies "has a meaningful selectivity".

"Fundamentally yes, but you also have to consider how selective the conditions are." - Laurenz

where true - selectivity 0
where not(is_deleted) - selectivity < .01 ish in many cases

Selectivity is evaluating cardinality with an eye on the frequency of the values you are actually going to be filtering on.  So low cardinality booleans can be highly selective in usage if you are looking for the rare false in a sea of trues but low selectivity if looking through those trues.

David J.

pgsql-general by date:

Previous
From: Evgeny Morozov
Date:
Subject: Re: Querying one partition in a function takes locks on all partitions
Next
From: "David G. Johnston"
Date:
Subject: Re: BTREE index: field ordering