Re: Partial index on date column - Mailing list pgsql-hackers

From Christopher Kings-Lynne
Subject Re: Partial index on date column
Date
Msg-id 02bf01c2e46a$70c17c70$6500a8c0@fhp.internal
Whole thread Raw
In response to Partial index on date column  ("Dave Page" <dpage@vale-housing.co.uk>)
Responses Re: Partial index on date column  (Tom Lane <tgl@sss.pgh.pa.us>)
Re: Partial index on date column  (Hannu Krosing <hannu@tm.ee>)
List pgsql-hackers
> "Christopher Kings-Lynne" <chriskl@familyhealth.com.au> writes:
> > Obviously to you and I, referrer=1 implies that referrer is not null,
but
> > the planner doesn't know that.
>
> Actually the planner does make exactly that deduction in some other
> contexts --- but I'm hesitant to expend the cycles for partial indexes.
> Partial-index condition matching is a horribly difficult problem in
> general, and we only attempt a few limited cases right now.  I don't
> think we want to put a general-purpose theorem prover in there ---
> so it comes down to the likelihood of spotting a match in some cases,
> versus the wasted cycles of checking for a match in every query that
> doesn't fit the pattern.

Yeah, it's not really a problem for me, I just put the extra clause in.

Is indexing excluding NULLs a common application of partial indexes?  It's
basically all I use it for, when a column has like 90-95% NULLS and I want
to exclude them from the index.  Is it worth hard-coding in the IS NOT NULL
case?

Chris



pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: stats_command_string default?
Next
From: Bruce Momjian
Date:
Subject: Re: Brain dump: btree collapsing