[firebase-br] Consulta lenta, Firebird 1.5

Fernando Alécio fernando.bg em gmail.com
Qui Out 16 16:53:42 -03 2014


Boa tarde Gladiston mas pelo que eu saiba as tabelas temporárias não 
existe no FB 1.5 não é ou estou enganado???

Fernando Alécio
Skype : fernando_alecio
Celular : (18) 997144471

On 16/10/2014 16:15, Gladiston Santana wrote:
> não é muito saudável usar IN quando o numero de elementos é indefinido, até
> porque o IN tem limites.
> pode criar uma tabela temporaria GTT :
> CREATE GLOBAL TEMPORARY TABLE GTT_EMPRESAS ( id_empresa integer )
> ON COMMIT DELETE  ROWS
>
> e popula-la com os codigos que usará (use UPDATE OR INSERT que é mais
> prático em tabelas de 1 campo só)
>
> quebre sua querie e dê um jeito de usar assim:
> SELECT * FROM TABELA a
> WHERE EXISTS(
>    select 1 from GTT_EMPRESAS where GTT_EMPRESAS.ID_EMPRESA=a.ID_EMPRESA
> )
>
> Vai notar que será mega-ultra rápido e é um caminho mais curto do que criar
> view ou procedure.
>
>
> Em 16 de outubro de 2014 11:02, Fernando Alécio <fernando.bg em gmail.com>
> escreveu:
>
>> Bom dia a todos
>>
>> Tenho uma consulta que busca vários dados para serem exibidos em uma grid.
>> Essa consulta possui vários subselects. Até aí normal o meu problema é em
>> um dos filtros dessa consulta.
>> Ela possuí o filtro por empresa, mas tenho a opção de pegar mais de 1
>> empresa ou todas para realizar essa consulta.
>> Quando é informado uma empresa faço a consulta assim.
>>
>> where Cod_Empresa = 1
>>
>> Assim fica rápido a consulta mas quando não é informado a empresa ficaria
>> assim a consulta.
>>
>> where Cod_Empresa in (1,2,...N)
>>
>> Nesse segundo caso fica muito lento. Tem alguma coisa que eu possa fazer
>> para resolver essa lentidão????
>>
>> --
>> Fernando Alécio
>> Skype : fernando_alecio
>> Celular : (18) 997144471
>>
>>
>>
>> ---
>> Este email está limpo de vírus e malwares porque a proteção do avast!
>> Antivírus está ativa.
>> http://www.avast.com
>> ______________________________________________
>> 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
>>
>
>



---
Este email está limpo de vírus e malwares porque a proteção do avast! Antivírus está ativa.
http://www.avast.com



Mais detalhes sobre a lista de discussão lista