[FUGSPBR] OFF-Topic Postgres

Leonardo B. Cuquejo leo em magicwebdesign.com.br
Ter Fev 25 10:55:47 BRT 2003


acabei de executar o comando assim:
select
    a.cod,a.nome,a.emai from usuarios as a, cli_cat as b
    where (b.cod_cat=2 and a.cod=b.cod_cli and a.ativo='True') or
    (b.cod_cat=16 and a.cod=b.cod_cli and a.ativo='True') or
    (b.cod_cat=20 and a.cod=b.cod_cli and a.ativo='True') or
    (b.cod_cat=17 and a.cod=b.cod_cli and a.ativo='True') or
    (b.cod_cat=22 and a.cod=b.cod_cli and a.ativo='True')
    group by a.cod,a.nome,a.emai;

Pelo menos dessa ves ele retornou algo, mas demorou +ou- 5 minutos pra
retornar o primeiro dado, e desse jeito da timeout no php que executa
essa consulta.. :(


----- Original Message -----
From: "Israel Cordeiro" <israelistas em yahoo.com.br>
To: "Grupo Brasileiro de Usuarios FreeBSD" <fugspbr em fugspbr.org>
Sent: Tuesday, February 25, 2003 10:44 AM
Subject: Re: [FUGSPBR] OFF-Topic Postgres


: Leonardo,
:         creio que o problema pode estar na consulta SQL formada
.Observe :
:
: select
:     cod, nome,emai  /* cod de qual tabela ? a ou b  ? */
:     from usuarios as a, cli_cat as b
:     where (b.cod_cat=2 and a.cod=b.cod_cli and a.ativo='True') or
:     (b.cod_cat=16 and a.cod=b.cod_cli and a.ativo='True') or
:     (b.cod_cat=20 and a.cod=b.cod_cli and a.ativo='True') or
:     (b.cod_cat=17 and a.cod=b.cod_cli and a.ativo='True') or
:     (b.cod_cat=22 and a.cod=b.cod_cli and a.ativo='True')
:     group by cod,nome,emai;
:
: Tente assim :
: select
:     a.cod,a.nome,a.emai from usuarios as a, cli_cat as b
:     where (b.cod_cat=2 and a.cod=b.cod_cli and a.ativo='True') or
:     (b.cod_cat=16 and a.cod=b.cod_cli and a.ativo='True') or
:     (b.cod_cat=20 and a.cod=b.cod_cli and a.ativo='True') or
:     (b.cod_cat=17 and a.cod=b.cod_cli and a.ativo='True') or
:     (b.cod_cat=22 and a.cod=b.cod_cli and a.ativo='True')
:     group by cod,nome,emai;
:
: OBS. Isto supondo que nome e emai fazem parte da tabela usuarios .
: O que ocorre é que o PostGreSQL não consegue saber de quem é a tabela
e fica
: tentando "advinhar" o que deve ser feito , tenta isto que deve
funcionar .
:
:
: Seya,
:
: Israel Cordeiro da Fonseca
: http://www.metanoianet.com.br
: ----------------------------------------------------------------------
------
: -
: Free your mind ... Free your software ... Free your hardware ...  =
FreeBSD
: ----------------------------------------------------------------------
------
: -
:
: ----- Original Message -----
: From: "Leonardo B. Cuquejo" <leo em magicwebdesign.com.br>
: To: "Grupo Brasileiro de Usuarios FreeBSD" <fugspbr em fugspbr.org>
: Sent: Tuesday, February 25, 2003 10:21 AM
: Subject: [FUGSPBR] OFF-Topic Postgres
:
:
: Desculpem por mandar esse off-topic pra lista, mas acho que alguem
pode
: saber a solucao e me ajudar.
: Uso postgres 7.3.
: Tenho 3 tabelas uma de usuarios (com +ou-10000 registros) outra de
: categorias e outra de relacao entre as duas, quando faco uma consulta
: assim:
: select
:     cod,nome,emai from usuarios as a, cli_cat as b
:     where (b.cod_cat=2 and a.cod=b.cod_cli and a.ativo='True') or
:     (b.cod_cat=16 and a.cod=b.cod_cli and a.ativo='True') or
:     (b.cod_cat=20 and a.cod=b.cod_cli and a.ativo='True') or
:     (b.cod_cat=17 and a.cod=b.cod_cli and a.ativo='True')
:     group by cod,nome,emai;
:
: ele me retorna quase que instantaneamente, notem que tem 4 consultas.
:
: agora quando eu coloco mais uma consulta  ele simplesmente demora
demora
: e nao me retorna.
: se eu olhar quanto o postgres esta processando ele esta em 99% do
: processador, e nao me retorna nada.
: olhe um exemplo abaixo.
:
: select
:     cod,nome,emai from usuarios as a, cli_cat as b
:     where (b.cod_cat=2 and a.cod=b.cod_cli and a.ativo='True') or
:     (b.cod_cat=16 and a.cod=b.cod_cli and a.ativo='True') or
:     (b.cod_cat=20 and a.cod=b.cod_cli and a.ativo='True') or
:     (b.cod_cat=17 and a.cod=b.cod_cli and a.ativo='True') or
:     (b.cod_cat=22 and a.cod=b.cod_cli and a.ativo='True')
:     group by cod,nome,emai;
:
: aqui tem 5 consultas... e mesmo que eu coloque um codigo repetido tipo
: assim:
:
: select
:     cod,nome,emai from usuarios as a, cli_cat as b
:     where (b.cod_cat=2 and a.cod=b.cod_cli and a.ativo='True') or
:     (b.cod_cat=16 and a.cod=b.cod_cli and a.ativo='True') or
:     (b.cod_cat=20 and a.cod=b.cod_cli and a.ativo='True') or
:     (b.cod_cat=20 and a.cod=b.cod_cli and a.ativo='True') or
:     (b.cod_cat=17 and a.cod=b.cod_cli and a.ativo='True')
:     group by cod,nome,emai;
:
: ele tb trava e etc... Isso seria um bug do postgres? achei que poderia
: ser um bug e atualizer o meu postgres 7.2 pro 7.3 e continua dando o
: mesmo problema.
:
: O Estranho que eh so quando tem 5 consultas...
: quando eh 4 consultas eh quase que instantaneo, mesmo que seja as 4
: maiores consultas...
:
: Alguem tem alguma dica?
: Grato,
: Leonardo B. Cuquejo
:
:
: _______________________________________________________________
: Sair da Lista: http://www2.fugspbr.org/mailman/listinfo/fugspbr
: Historico: http://www4.fugspbr.org/lista/html/FUG-BR/
:
:
_______________________________________________________________________
: Busca Yahoo!
: O serviço de busca mais completo da Internet. O que você pensar o
Yahoo! encontra.
: http://br.busca.yahoo.com/
: _______________________________________________________________
: Sair da Lista: http://www2.fugspbr.org/mailman/listinfo/fugspbr
: Historico: http://www4.fugspbr.org/lista/html/FUG-BR/
:
:


_______________________________________________________________
Sair da Lista: http://www2.fugspbr.org/mailman/listinfo/fugspbr
Historico: http://www4.fugspbr.org/lista/html/FUG-BR/



Mais detalhes sobre a lista de discussão freebsd