Cara,
Já tive um problema desses uma vez...
O problema estava nas estatísticas da tabela...
Mas, resolvi assim :

CREATE OR REPLACE FUNCTION like2(varchar,varchar) RETURNS bool
AS 'SELECT ($1 LIKE $2)::bool;'
LANGUAGE SQL;

select * from usuario where like2(nome,'Thiago%');

Pois na funcao nova, o planejador não utiliza as estatisticas da tabela.

OU ENTAUM terá que alterar as estatisticas da tabela ....
Para ver as atuais estatisticas:
SELECT relname, relkind, reltuples, relpages FROM pg_class WHERE relname LIKE 'tbl%';

Para altera-las :
ALTER TABLE SET STATISTICS command;

Faça o teste com o like2, para ver se este é o problema mesmo... depois tente ajustar as estatisticas ...


Att:
Thiago risso

On 10/23/06, Marcio <[EMAIL PROTECTED]> wrote:
EXPLAIN SELECT * FROM [TABELA]
  WHERE ATT_CHAR LIKE '[VALOR]%';
 
ou
 
EXPLAIN ANALYZE SELECT * FROM [TABELA]
  WHERE ATT_CHAR LIKE '[VALOR]%';

Ja certificou-se de que sua consulta esta mesmo usando o indice corretamente?
Vacuum nesta tabela ou no DB inteiro...esta sendo executado com certa "frequencia" ?
 
Veja na documentacao do pgsql, que consultas com a clausula like precisam ter indices especiais para que o mesmo utilize-os.
Abraco e bom trabalho.
Marcio
----- Original Message -----
Sent: Monday, October 23, 2006 3:53 PM
Subject: [PostgreSQL-Brasil] URGENTE! Performe com LIKE

Senhores, boa tarde.
 
Estou passando um pouco de trabalho em algumas consultas na minha aplicação. Em uma consulta com like, em uma tabela com somente 120.000 registros esta demorando mais de 3 minutos para mostrar os registros. tem um índice pra o  campo que eu vou "filtrar".eu NÃO sei o que posso fazer pra que possa melhorar a performance, alguém tem alguma sugestão!?
 
o banco está rodando no "bendito" windows 2003 server.
Exemplo do select:
 
  SELECT * FROM [TABELA]
  WHERE ATT_CHAR LIKE '[VALOR]%';
 
Obrigado pela atenção.
 
--
Atenciosamente,
Sebastian Selau Webber Colombo


_______________________________________________
Grupo de Usuários do PostgreSQL no Brasil
Antes de perguntar consulte o manual
http://pgdocptbr.sourceforge.net/

Para editar suas opções ou sair da lista acesse a página da lista em:
http://pgfoundry.org/mailman/listinfo/brasil-usuarios


No virus found in this incoming message.
Checked by AVG Free Edition.
Version: 7.1.408 / Virus Database: 268.13.4/478 - Release Date: 17/10/2006


_______________________________________________
Grupo de Usuários do PostgreSQL no Brasil
Antes de perguntar consulte o manual
http://pgdocptbr.sourceforge.net/

Para editar suas opções ou sair da lista acesse a página da lista em:
http://pgfoundry.org/mailman/listinfo/brasil-usuarios


_______________________________________________
Grupo de Usuários do PostgreSQL no Brasil
Antes de perguntar consulte o manual
http://pgdocptbr.sourceforge.net/

Para editar suas opções ou sair da lista acesse a página da lista em:
http://pgfoundry.org/mailman/listinfo/brasil-usuarios

Responder a