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
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 |