Thanks to you and Tom. The partial index solution is working splendidly.
On 5/3/07, Richard Huxton <dev@archonet.com> wrote:
> Dan Weber wrote:
> > I made an expression index specifically for that where clause:
> >
> > CREATE INDEX special_testing_idx on my_table (((bool_1 or
> > int_1 = 0) AND (int_2 IS NULL) AND (int_3 IS
> > NULL) AND (protocol = 2)));
>
> No, you haven't. What you've done here is create an index *for that
> expression*. And it's not terribly useful because your expression will
> only have two possible values: true, false.
>
> What you were after is something like:
>
> CREATE INDEX special_idx2 ON my_table (id) WHERE (...long expression...)
>
> --
> Richard Huxton
> Archonet Ltd
>