Functional Indices - Mailing list pgsql-general

From kavoos
Subject Functional Indices
Date
Msg-id 3B0917AF.858A739B@issn.org
Whole thread Raw
Responses Re: Functional Indices  (Peter Eisentraut <peter_e@gmx.net>)
Re: Functional Indices  (Stephan Szabo <sszabo@megazone23.bigpanda.com>)
List pgsql-general
Hi all,


The pg manual, chapter 7 :
"For example, a common way to do case-insensitive comparisons is to use
the lower: SELECT * FROM test1 WHERE lower(col1) = 'value';
In order for that query to be able to use an index, it has to be defined
on the result of the lower(column) operation:
CREATE INDEX test1_lower_col1_idx ON test1 (lower(col1));"

I have a table like this :
\d titles
                                  Table "titles"
 Attribute |          Type          |                   Modifier
-----------+------------------------+----------------------------------------------
 id        | integer                | not null default
nextval('titles_seq'::text)
 issn      | character(9)           | not null
 tag       | integer                | not null
 prefix    | character varying(32)  |
 title     | character varying(640) | not null
Indices: issn,
         prefix,
         tag,


create index lower_title on titles (lower(title));
vacuum analyze;
...
explain select * from titles where lower(title) = 'monde';
Seq Scan on titles  (cost=0.00..39392.10 rows=14145 width=44)

Why it does not use the index ?

PGSQL 7.1.1 on Suse Linux 7.1

thx

pgsql-general by date:

Previous
From: Stephan Szabo
Date:
Subject: Re: I want more Money (the data type, of course! :-))
Next
From: "Flacco"
Date:
Subject: pgaccess - no "numeric" data type?