[firebase-br] FK deixando o sistema lento

Eduardo Pelizzari de Andrade eduardoandrade em persoft.com.br
Sex Mar 18 14:04:25 -03 2011


O problema da demora não é devido  ao inner, mas o plano que o firebird 
está calculando quando você está usando o inner com o fk. Se você 
precisar usar o inner você tem que forçar o plano usando o comando PLAN. 
Pesquise sobre plano.

Eduardo Pelizzari de Andrade
Persoft Softwares Aplicativos



Em 18/03/2011 10:25, andre conrado escreveu:
> uma pergunta, e se o inner join se fizer necessário? por ex. mostrar
> apenas os registros que existam correspondência em todas as tabelas.
> eu sempre coloco parenteses para orientar o firebird qto ao plano.
>
> ex.
>
>
> select
> A.coluna1
> A.coluna2
> A.coluna3
> B.coluna1
> C.coluna1
> A.coluna4
>
> from ((TABELA A
>
> INNER JOIN TABELA B ON B.PK = A.FK)
> INNER JOIN TABELA D ON D.PK = A.FK)
> INNER JOIN TABELA C ON C.PK = D.FK
>
> where
>
> A.coluna10 = 0 AND
> D.coluna10 = 000000
> order by C.coluna1, A.coluna3
>
>
> experimente assim para ver se resolve
>
> Em 17/03/11, Eduardo Pelizzari de
> Andrade<eduardoandrade em persoft.com.br>  escreveu:
>    
>> Quando você inclui o FK o firebird deve estar calculando o plano de
>> forma diferente, quando você usa o left, você força ele a utilizar o
>> plano a partir da coluna A.
>>
>> Eduardo Pelizzari de Andrade
>> Persoft Softwares Aplicativos
>> Fone: 55 11 22218061
>>
>>
>> Em 17/03/2011 18:06, Raul Geraldin escreveu:
>>      
>>> Mato a pau, mais não entendi, qual foi a diferença ??
>>>
>>> Em 17 de março de 2011 16:28, Carlos Roberto da Silva
>>> <ralhos em gmail.com>escreveu:
>>>
>>>
>>>        
>>>> Você experimentou trocar os inner join por left join ?
>>>>
>>>> Em Qui, 2011-03-17 às 15:58 -0300, Raul Geraldin escreveu:
>>>>
>>>>          
>>>>> Boa tarde Srs., estou com problema em meu relacionamento aonde que
>>>>> quando
>>>>> tiro a FK da tabela ela melhora 100% a SELECT;
>>>>>
>>>>> select
>>>>> A.coluna1
>>>>> A.coluna2
>>>>> A.coluna3
>>>>> B.coluna1
>>>>> C.coluna1
>>>>> A.coluna4
>>>>>
>>>>> from TABELA A
>>>>>
>>>>> INNER JOIN TABELA B ON B.PK = A.FK
>>>>> INNER JOIN TABELA D ON D.PK = A.FK
>>>>> INNER JOIN TABELA C ON C.PK = D.FK
>>>>>
>>>>> where
>>>>>
>>>>> A.coluna10 = 0 AND
>>>>> D.coluna10 = 000000
>>>>> order by C.coluna1, A.coluna3
>>>>>
>>>>> Quando excluo a FK da tabela D que esta referenciada a PK da tabela C a
>>>>> cunsulta melhora 100%
>>>>>
>>>>> Qual seria o problema dessa FK
>>>>>
>>>>> ????
>>>>> ______________________________________________
>>>>> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
>>>>> Para saber como gerenciar/excluir seu cadastro na lista, use:
>>>>>
>>>>>            
>>>> http://www.firebase.com.br/fb/artigo.php?id=1107
>>>>
>>>>          
>>>>> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>>>>>
>>>>>            
>>>>
>>>> ______________________________________________
>>>> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
>>>> Para saber como gerenciar/excluir seu cadastro na lista, use:
>>>> http://www.firebase.com.br/fb/artigo.php?id=1107
>>>> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>>>>
>>>>
>>>>          
>>> ______________________________________________
>>> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
>>> Para saber como gerenciar/excluir seu cadastro na lista, use:
>>> http://www.firebase.com.br/fb/artigo.php?id=1107
>>> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>>>
>>>
>>>
>>> Nenhum vírus encontrado nessa mensagem recebida.
>>> Verificado por AVG - www.avgbrasil.com.br
>>> Versão: 9.0.894 / Banco de dados de vírus: 271.1.1/3512 - Data de
>>> Lançamento: 03/17/11 04:34:00
>>>
>>>
>>>        
>> ______________________________________________
>> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
>> Para saber como gerenciar/excluir seu cadastro na lista, use:
>> http://www.firebase.com.br/fb/artigo.php?id=1107
>> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>>
>>      
>
>    
>
>
>
> Nenhum vírus encontrado nessa mensagem recebida.
> Verificado por AVG - www.avgbrasil.com.br
> Versão: 9.0.894 / Banco de dados de vírus: 271.1.1/3514 - Data de Lançamento: 03/18/11 04:34:00
>
>    



Mais detalhes sobre a lista de discussão lista