Thanks to you and Tom. The partial index solution is working splendidly. On 5/3/07, Richard Huxton <dev@xxxxxxxxxxxx> 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