Re: [PERFORM] Group By index usage

2004-11-30 Thread Alban Medici (NetCentrex)
 Did you test with ILIKE instead of lower LIKE lower ?




-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of sdfasdfas
sdfasdfs
Sent: mercredi 24 novembre 2004 18:37
To: [EMAIL PROTECTED]
Subject: [PERFORM] Group By  index usage

I have a table with this index:

 create index ARTISTS_NAME on ARTISTS (
 lower(AR_NAME)
 );

Te index is over a colum with this definition:

 AR_NAME  VARCHAR(256) null,

I want to optimize this query:

 select * from artists where lower(ar_name) like
lower('a%') order by lower(ar_name) limit 20;

I think the planner should use the index i have. But the result of the
explain command is:

 explain analyze select * from artists where
lower(ar_name) like lower('a%') order by
lower(ar_name) limit 20;

  
QUERY PLAN   

-
 Limit  (cost=20420.09..20420.14 rows=20 width=360) (actual
time=2094.13..2094.19 rows=20 loops=1)
   -  Sort  (cost=20420.09..20433.52 rows=5374
width=360) (actual time=2094.13..2094.16 rows=21
loops=1)
 Sort Key: lower((ar_name)::text)
 -  Index Scan using artists_name on artists
(cost=0.00..19567.09 rows=5374 width=360) (actual
time=0.11..1391.97 rows=59047 loops=1)
   Index Cond: ((lower((ar_name)::text) =
'a'::text) AND (lower((ar_name)::text)  'b'::text))
   Filter: (lower((ar_name)::text) ~~
'a%'::text)
 Total runtime: 2098.62 msec
(7 rows)

The ORDER BY clause is not using the index!. I don't know why.

I have the locale configured to C, and the index works well with the like
operator. 

¿Could you help me? I am really lost. 



__
Renovamos el Correo Yahoo!: ¡100 MB GRATIS!
Nuevos servicios, más seguridad
http://correo.yahoo.es

---(end of broadcast)---
TIP 8: explain analyze is your friend


---(end of broadcast)---
TIP 3: if posting/reading through Usenet, please send an appropriate
  subscribe-nomail command to [EMAIL PROTECTED] so that your
  message can get through to the mailing list cleanly


[PERFORM] Group By index usage

2004-11-24 Thread sdfasdfas sdfasdfs
I have a table with this index:

 create index ARTISTS_NAME on ARTISTS (
 lower(AR_NAME)
 );

Te index is over a colum with this definition:

 AR_NAME  VARCHAR(256) null,

I want to optimize this query:

 select * from artists where lower(ar_name) like
lower('a%') order by lower(ar_name) limit 20;

I think the planner should use the index i have. But
the result of the explain command is:

 explain analyze select * from artists where
lower(ar_name) like lower('a%') order by
lower(ar_name) limit 20;

  
QUERY PLAN   

 Limit  (cost=20420.09..20420.14 rows=20 width=360)
(actual time=2094.13..2094.19 rows=20 loops=1)
   -  Sort  (cost=20420.09..20433.52 rows=5374
width=360) (actual time=2094.13..2094.16 rows=21
loops=1)
 Sort Key: lower((ar_name)::text)
 -  Index Scan using artists_name on artists 
(cost=0.00..19567.09 rows=5374 width=360) (actual
time=0.11..1391.97 rows=59047 loops=1)
   Index Cond: ((lower((ar_name)::text) =
'a'::text) AND (lower((ar_name)::text)  'b'::text))
   Filter: (lower((ar_name)::text) ~~
'a%'::text)
 Total runtime: 2098.62 msec
(7 rows)

The ORDER BY clause is not using the index!. I don't
know why.

I have the locale configured to C, and the index works
well with the like operator. 

¿Could you help me? I am really lost. 



__
Renovamos el Correo Yahoo!: ¡100 MB GRATIS!
Nuevos servicios, más seguridad
http://correo.yahoo.es

---(end of broadcast)---
TIP 8: explain analyze is your friend


Re: [PERFORM] Group By index usage

2004-11-24 Thread Tom Lane
sdfasdfas sdfasdfs [EMAIL PROTECTED] writes:
 I have a table with this index:
  create index ARTISTS_NAME on ARTISTS (
  lower(AR_NAME)
  );

 Te index is over a colum with this definition:

  AR_NAME  VARCHAR(256) null,

 I want to optimize this query:

  select * from artists where lower(ar_name) like
 lower('a%') order by lower(ar_name) limit 20;

 I think the planner should use the index i have.

Update to 7.4, or declare the column as TEXT instead of VARCHAR.
Older versions aren't very bright about situations involving
implicit coercions.

regards, tom lane

---(end of broadcast)---
TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]