Bardzo prosty przykład - jedna tabela, jeden indeks, jedno zapytanie:
CREATE TABLE book
(
id bigserial NOT NULL,
"year" integer,
-- other columns...
);
CREATE INDEX book_year_idx ON book (year)
EXPLAIN
SELECT *
FROM book b
WHERE b.year > 2009
daje mi:
Seq Scan on book b (cost=0.00..25663.80 rows=105425 width=622)
Filter: (year > 2009)
Dlaczego zamiast tego NIE wykonuje skanowania indeksu? czego mi brakuje?