[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