From: Dave Dutcher <dave@tridecap.com>
To: 'Sriram Dandapani' <sdandapani@counterpane.com>
To: 'Pgsql-Performance \(E-mail\)' <pgsql-performance@postgresql.org>
Subject: Re: planner not using index for like operator
Date: Tue, 25 Apr 2006 13:03:13 -0500
Message-ID: <000001c66892$8583d040$8300a8c0@tridecap.com> (raw)
In-Reply-To: <6992E470F12A444BB787B5C937B9D4DF0406B241@ca-mail1.cis.local>
If you are using a locale other than the C locale, you need to create
the index with an operator class to get index scans with like.
See here for details:
http://www.postgresql.org/docs/8.1/interactive/indexes-opclass.html
-----Original Message-----
From: pgsql-performance-owner@postgresql.org
[mailto:pgsql-performance-owner@postgresql.org] On Behalf Of Sriram
Dandapani
Sent: Tuesday, April 25, 2006 12:08 PM
To: Pgsql-Performance (E-mail)
Subject: [PERFORM] planner not using index for like operator
For the query
Select col1 from table1
Where col1 like '172.%'
The table has 133 million unique ip addresses. Col1 is indexed.
The optimizer is using a sequential scan
This is the explain analyze output
"Seq Scan on table1 (cost=0.00..2529284.80 rows=1 width=15) (actual
time=307591.339..565251.775 rows=524288 loops=1)"
" Filter: ((col1)::text ~~ '172.%'::text)"
"Total runtime: 565501.873 ms"
The number of affected rows (500K) is a small fraction of the total row
count.
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-performance@postgresql.org
Cc: dave@tridecap.com, sdandapani@counterpane.com
Subject: Re: planner not using index for like operator
In-Reply-To: <000001c66892$8583d040$8300a8c0@tridecap.com>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox