Mendola Gaetano wrote:
CREATE TABLE foo (field_a
field_b
......
fast_search BOOLEAN NOT NULL DEFAULT 1,
time_stamp TIMESTAMPTZ NOT NULL DEFAULT now()
);
CREATE INDEX idx_fast_search ON foo ( fast_search ) where fast_search = 't';
for each field to index:
CREATE INDEX idx_field_a ON foo ( field_a ) where fast_search = 't';
CREATE INDEX idx_field_b ON foo ( field_b ) where fast_search = 't';
at the beginning of each month you can now do:
UPDATE foo SET fast_search = 'f'
WHERE time_stamp < now() AND
fast_search = 't';
I guess we are missunderstanding each other.
I meant you were saying that you could have a partial index on a view
which does a Union All of may tables (each table contains a Month).
But I think thats really not possible.
Cheers,
Dani
---------------------------(end of broadcast)---------------------------
TIP 9: the planner will ignore your desire to choose an index scan if your
joining column's datatypes do not match