Ik heb een probleem met een query op een postgresql database. Hij gebruikt namelijk m'n index niet. Het gaat om de volgende query:
select * from egproperties where tabel = 'og'
egproperties is een tabel met zo'n 1500 records (verders geen triggers, indexen, een normale simpele tabel dus). Ik heb een btree index gemaakt op de tabel kolom:
CREATE INDEX index_egproperties_tabel ON egproperties USING btree (tabel)
Daarna heb ik een full vacuum analyze gedaan om er zeker van te zijn dat alle indexes "gevult" zijn.
Maar als ik nu het volgende doe:
explain analyze select * from egproperties where tabel = 'og'
word de index die op de kolom tabel zit niet gebruikt:
Seq Scan on egproperties (cost=0.00..49.45 rows=260 width=149) (actual time=0.33..22.43 rows=260 loops=1)
Filter: (tabel = 'og'::character varying)
Total runtime: 23.57 msec
Ik vermoed dat ik iets fout doe, maar ik kan niet vinden wat. Weten jullie waarom hij m'n index niet gebruikt?
select * from egproperties where tabel = 'og'
egproperties is een tabel met zo'n 1500 records (verders geen triggers, indexen, een normale simpele tabel dus). Ik heb een btree index gemaakt op de tabel kolom:
CREATE INDEX index_egproperties_tabel ON egproperties USING btree (tabel)
Daarna heb ik een full vacuum analyze gedaan om er zeker van te zijn dat alle indexes "gevult" zijn.
Maar als ik nu het volgende doe:
explain analyze select * from egproperties where tabel = 'og'
word de index die op de kolom tabel zit niet gebruikt:
Seq Scan on egproperties (cost=0.00..49.45 rows=260 width=149) (actual time=0.33..22.43 rows=260 loops=1)
Filter: (tabel = 'og'::character varying)
Total runtime: 23.57 msec
Ik vermoed dat ik iets fout doe, maar ik kan niet vinden wat. Weten jullie waarom hij m'n index niet gebruikt?