Re: Storing computed values - Mailing list pgsql-general

From Colin Wetherbee
Subject Re: Storing computed values
Date
Msg-id 480CE9DB.6060506@denterprises.org
Whole thread Raw
In response to Re: Storing computed values  ("Richard Broersma" <richard.broersma@gmail.com>)
Responses Re: Storing computed values  ("Richard Broersma" <richard.broersma@gmail.com>)
List pgsql-general
Richard Broersma wrote:
> On Mon, Apr 21, 2008 at 11:19 AM, Colin Wetherbee <cww@denterprises.org> wrote:
>
>> My impression of functional indexes is that they're useful mostly in WHERE
>> queries, like the following.
>>
>> SELECT foo, bar, baz FROM some_table WHERE lower(foo) = 'qux';
>>
>> In this case, the index would be created on lower(foo).
>>
>> How would I get the value of the functional index out of the index in my
>> case?
>
> If this is the case, and you use Natural Foreign Keys, you only need
> to select from your foo table:
>
> SELECT Connect( location1, location2)
>   FROM Foo
>  WHERE location1 = ...
>         OR location2 = ...
>         OR connect(location1,location2) = ...; --this is where the
> functional index would be useful

Right, but the problem I see is that my locations are not actually
stored in foo.  Since many rows of foo can reference the same location,
the locations are stored in a separate table and, in fact, are
referenced by foreign keys (SERIAL/INTEGER types) already.

Colin


pgsql-general by date:

Previous
From: Colin Wetherbee
Date:
Subject: Re: Storing computed values
Next
From: "Richard Broersma"
Date:
Subject: Re: Storing computed values