From: | "Andrei Bintintan" <klodoma(at)ar-sd(dot)net> |
---|---|
To: | <pgsql-admin(at)postgresql(dot)org> |
Subject: | Index not used. WHY? |
Date: | 2003-12-04 14:57:51 |
Message-ID: | 014901c3ba76$ffd65650$0b00a8c0@andy |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-admin pgsql-performance |
Hi,
I have the following table:
CREATE TABLE public.rights (
id int4 DEFAULT nextval('"rights_id_seq"'::text) NOT NULL,
id_user int4 NOT NULL,
id_modull int4 NOT NULL,
CONSTRAINT rights_pkey PRIMARY KEY (id)
)
and I created the following indexes:
CREATE INDEX right_id_modull_idx ON rights USING btree (id_modull);
CREATE INDEX right_id_user_idx ON rights USING btree (id_user);
Now the problem:
EXPLAIN SELECT * FROM rights r WHERE r.id_modull =15
returnes:
Seq Scan on rights r (cost=0.00..12.30 rows=42 width=12)
Filter: (id_modull = 15)
EXPLAIN SELECT * FROM rights r WHERE r.id_user =15
returnes:
Index Scan using right_id_user_idx on rights r (cost=0.00..8.35 rows=11 width=12)
Index Cond: (id_user = 15)
Question: Why the right_id_modull_idx is NOT USED at the 1st query and the second query the right_id_user_idx index is used.
I don't understand this.
Thanx in advance.
Andy.
From | Date | Subject | |
---|---|---|---|
Next Message | Alan Graham | 2003-12-04 15:13:10 | Trigger to call an external program |
Previous Message | Glenn Wiorek | 2003-12-04 14:29:18 | Re: see previous queries |
From | Date | Subject | |
---|---|---|---|
Next Message | Stephan Szabo | 2003-12-04 15:19:49 | Re: Index not used. WHY? |
Previous Message | Christopher Browne | 2003-12-04 13:10:50 | Re: Minimum hardware requirements for Postgresql db |