Re: Index on immutable function call - Mailing list pgsql-general

From Dean Rasheed
Subject Re: Index on immutable function call
Date
Msg-id 8e2dbb701001190554q1d27fd10k71f9e39e5982aa6d@mail.gmail.com
Whole thread Raw
In response to Re: Index on immutable function call  ("Philippe Lang" <philippe.lang@attiksystem.ch>)
Responses Re: Index on immutable function call  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-general
2010/1/19 Philippe Lang <philippe.lang@attiksystem.ch>:
> That works just fine, but is there maybe a way of creating a slighly
> more "generic" index? If I change the ">" with a "<" in the query, index
> cannot of course be used. According to documentation, answer seems to be
> "no"...
>

You could create an index on the difference:

create index long_transformation_index on indexed_table
((data1-this_is_a_long_transformation(data2)));

then rewrite your queries accordingly:

... WHERE data1-this_is_a_long_transformation(data2) > some const (or
< some const)

HTH,
Dean

pgsql-general by date:

Previous
From: "Philippe Lang"
Date:
Subject: Re: Index on immutable function call
Next
From: Tom Lane
Date:
Subject: Re: Index on immutable function call