why index is not working in < operation?

From: AI Rumman <rummandba(at)gmail(dot)com>
To: pgsql-performance(at)postgresql(dot)org
Subject: why index is not working in < operation?
Date: 2010-07-22 08:05:22
Message-ID: AANLkTinx6eLifeH3npHzslIS0pi_EL9YOdi0LiPodHi2@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-performance

I have a table.

\d email_track
Table "public.email_track"
Column | Type | Modifiers
--------+---------+--------------------
crmid | integer | not null default 0
mailid | integer | not null default 0
count | integer |
Indexes:
"email_track_pkey" PRIMARY KEY, btree (crmid, mailid) CLUSTER
"email_track_count_idx" btree (count)

explain analyze select * from email_track where count > 10 ;
QUERY
PLAN
----------------------------------------------------------------------------------------------------------------------------------------------------
Bitmap Heap Scan on email_track (cost=12.79..518.05 rows=1941 width=12)
(actual time=0.430..3.047 rows=1743 loops=1)
Recheck Cond: (count > 10)
-> Bitmap Index Scan on email_track_count_idx (cost=0.00..12.79
rows=1941 width=0) (actual time=0.330..0.330 rows=1743 loops=1)
Index Cond: (count > 10)
Total runtime: 4.702 ms
(5 rows)

explain analyze select * from email_track where count < 10000 ;
QUERY
PLAN
----------------------------------------------------------------------------------------------------------------------------------
Seq Scan on email_track (cost=0.00..1591.65 rows=88851 width=12) (actual
time=0.011..118.499 rows=88852 loops=1)
Filter: (count < 10000)
Total runtime: 201.206 ms
(3 rows)

I don't know why index scan is not working for count < 10000 operation.
Any idea please.

Responses

Browse pgsql-performance by date

  From Date Subject
Next Message Szymon Guz 2010-07-22 08:11:34 Re: why index is not working in < operation?
Previous Message Philippe Rimbault 2010-07-22 07:52:40 Strange explain on partitioned tables