| 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: | Whole Thread | Raw Message | 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 |