Functional Indices

From: kavoos <kavoos(at)issn(dot)org>
To: pgsql-general(at)postgresql(dot)org
Subject: Functional Indices
Date: 2001-05-21 13:27:11
Message-ID: 3B0917AF.858A739B@issn.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Tony Grant 2001-05-21 13:44:20 Re: Re: Re: Which Front End for Postgresql
Previous Message Michelle Murrain 2001-05-21 13:02:21 Re: Re: Which Front End for Postgresql