[firebase-br] query bastante lenta

André Conrado acf em andreconrado.net
Seg Jul 23 11:16:49 -03 2012


Existe um índice para o campo NS.DATA_DOCUMENTO?

Em 23 de julho de 2012 08:20, Washington Tavares
<washingtontavares em gmail.com> escreveu:
> * Criar uma view do select e aplicar o Where na View
> * Criar um Indice na Tabela de NF_SAIDAS baseado no Join
>
> Em 23 de julho de 2012 07:35, Sergio Nascimento
> <sergiojampapb em gmail.com>escreveu:
>
>> Pessoal,
>>
>> Estou com esta query que está demorando cerca de 3 horas:
>>
>> SELECT prod.COD_CONT, PIS_ALIQUOTA, coalesce(SUM(NSI.NFE_VLR_TOTAL),0) AS
>> VL_TOT_REC, coalesce(SUM(iif(NSI.PIS_ALIQUOTA=0,0,NSI.PIS_BC)),0) AS
>> VL_BC_PIS, coalesce(SUM(NSI.PIS_VALOR),0) AS VL_CRED FROM NF_SAIDAS_ITENS
>> NSI
>> JOIN NF_SAIDAS NS ON (NSI.EMP_CODIGO = NS.EMP_CODIGO AND
>> NSI.ESPECIE_DOCUMENTO = NS.ESPECIE_DOCUMENTO AND NSI.NUMERO_DOCUMENTO =
>> NS.NUMERO_DOCUMENTO)
>> JOIN PRODUTOS  PROD ON (NSI.EMP_CODIGO = PROD.EMP_CODIGO AND
>> NSI.PROD_CODIGO = PROD.PROD_CODIGO)
>> WHERE NSI.EMP_CODIGO = 1 and NS.DATA_DOCUMENTO between '2012-01-01' and
>> '2012-01-31'
>> GROUP BY prod.COD_CONT, PIS_ALIQUOTA
>>
>> Acontece que está damorando tanto por causa do join na tabela NS.
>> Fiz backup/restore no banco antes de executar.
>> A tabela NS tem 89.420 registros e a tabela NSI tem 94.769 registros (logo
>> nao sao tao grandes)
>> se eu tirar o teste da DATA_DOCUMENTO do WHERE nao demora nem 1 segundo.
>>
>> Vi uma sugestao aqui de se colocar um sub-select para nao usar o join, mas
>> era em uma consulta simples, nao em uma com SUM e GROUPY BY.
>>
>> Alguém pode ajudar ?
>> ______________________________________________
>> 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
>>
>
>
>
> --
> Washington Tavares
> 84 9188 3135(tim)
> tawaresw em hotmail.com
> tawaresw em yahoo.com
> Skype: washington_tavares
> ______________________________________________
> 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




Mais detalhes sobre a lista de discussão lista