select
cod,nome,emai from usuarios as a, cli_cat as b
where (b.cod_cat in (2, 16, 20, 17) and a.cod=b.cod_cli and a.ativo='True')
group by cod,nome,emai;
Tenta assim pra ver se d� certo!
Leonardo B. Cuquejo wrote:
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/
_______________________________________________________________ Sair da Lista: http://www2.fugspbr.org/mailman/listinfo/fugspbr Historico: http://www4.fugspbr.org/lista/html/FUG-BR/
