[firebase-br] usando Fb2.5+win8.1->fugindo aos JOIN *** empre que possam ***

Carlos H. Cantu listas em warmboot.com.br
Ter Maio 17 08:51:18 -03 2016


Possivelmente o PLAN do Firebird não usou os mesmos indices comparado
com quando vc dividiu em varios "for selects".

Em operações muito complexas, é comum termos algum ganho de
performance ao "quebrar" o select usando uma lógica específica.

[]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

MR> Cantú,

MR> Provavelmente nada disto será novo para Você os mais experimentados, mas
MR> tinha uma Store Procedure que me listava um ficheiro master de 5000 
MR> apenas com a qual fazia um:
MR>   For 
MR>     SELECT
MR>      ID,
MR>      etc....
MR>   FROM cliente c1
MR>     INNER JOIN PESSOAS P1 ON P1.PESSOA_ID=c1.cliente_ID
MR>     INNER JOIN MORADAS M1 ON M1.MORADA_ID=P1.PESSOA_ID
MR>     INNER JOIN DISTRITO D1 ON D1.DD=M1.DD
MR>     INNER JOIN CONCELHO C1 ON (C1.DD=M1.DD AND C1.CC=M1.CC )
MR>     INNER JOIN FREGUESIA F1 ON (f1.DD=M1.DD AND f1.CC=M1.CC AND 
MR> f1.FF=m1.FF)
MR>     INNER JOIN CP7Postal C7 ON C7.CP7_ID=M1.CP7_ID
MR>   WHERE 
MR>     ... condições ...
MR>  into  :ID ...lista de out_put   Do
MR> begin

MR>   mais uns selects ...Sum(Valor) .. Group By ID para ficheiro de 
MR> detalhes
MR>  calculando dívidas / pagamentos etc...

MR> end;

MR> tudo somado no loclahost nove a doze minutos.. remotamente 12* 3, 4 ou 5
MR> dependende da qualidade da rede que oscila bastante.
MR> Bem assim não servia as minhas necessidades
MR> Então parti os JOINS por multiplos select ... From <Cada Ficheiro> 
MR> into...carregando os parametros de out_put.
MR> Bem o resultado(velocidade) é qualquer coisa espantosa.
MR> No localhost o out_put é instantâneo e remotamente varia entre 4 e 30 
MR> segundos! Para nove minutos nem é preciso dizer-se mais nada...
MR> Nas ligações só uso PK e FK.
MR> Bom não sei se isto não merecerá uma reflexão já que tratando de INNER
MR> JOIN por chave indexadas o resultado deveria ser muito aproximado. 
MR> Estarei enganadao?! Então porquê?
MR> Obrigado








MR> ______________________________________________
MR> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
MR> Para saber como gerenciar/excluir seu cadastro na lista, use:
MR> http://www.firebase.com.br/fb/artigo.php?id=1107
MR> Para consultar mensagens antigas:
MR> http://www.firebase.com.br/pesquisa_lista.html





Mais detalhes sobre a lista de discussão lista