[firebase-br] Union All - não utiliza índice
Carlos H. Cantu
listas em warmboot.com.br
Quinta Junho 4 10:32:08 -03 2020
Qual é o PLAN?
Como fica o tempo de execução se vc rodar o select com os unions fora
da procedure (e com os mesmos parâmetros)?
Alguma razão especifica pra estar usando uma procedure como fonte de
dados ao invés de rodar o select diretamente na aplicação?
[]s
Carlos H. Cantu
eBook Guia de Migração para o FB 3 - www.firebase.com.br/guiafb3.php
www.FireBase.com.br - www.firebirdnews.org - blog.firebase.com.br
CA> Olá! Tenho uma SP que retorna vários registros de movimentos do
CA> financeiro, os "selects" são feitos em cada tabela por vez e são unidos
CA> com "UNION ALL". Está havendo uma lentidão considerável para retornar os
CA> registros, mesmo que o resultado seja cerca de 20 registros. Cada tabela
CA> possui seus índices corretamente nos campos onde utilizo na cláusula
CA> "where". Já fiz testes fazendo o "select" em cada tabela separadamente e
CA> o retorno é em tempo normal, questão de fração de segundos. Mas na
CA> "procedure" que possui essa união de 6 tabelas, está havendo essa
CA> lentidão, às vezes a aplicação chega a travar. A dúvida é: utilizando
CA> "union all" será que estão está sendo utilizado os índices? Tem alguma
CA> outra forma de juntar estes resultados para ter um resultado mais rápido?
CA> for
CA> select campos from tabela1 where ...
CA> union all
CA> select campos from tabela2 where ...
CA> union all
CA> select campos from tabela3 where ...
CA> union all
CA> select campos from tabela4 where ...
CA> union all
CA> select campos from tabela5 where ...
CA> union all
CA> select campos from tabela6 where ...
CA> order by 5, 1
CA> into :campos
CA> do suspend;
CA> ______________________________________________
CA> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
CA> Para saber como gerenciar/excluir seu cadastro na lista, use:
CA> http://www.firebase.com.br/fb/artigo.php?id=1107
CA> Para consultar mensagens antigas:
CA> http://www.firebase.com.br/pesquisa_lista.html
Mais detalhes sobre a lista de discussão lista