[firebase-br] ajuda para query
Kleber Caneva
kdcc em terra.com.br
Ter Jun 19 14:09:14 -03 2007
Em teste na mesma máquina ele não melhorar a performace., mas quando vc está
numa rede onde o servidor é uma maquina melhor, vc poderá sentir essa
diferença.
[]´s
Kléber Caneva
----- Original Message -----
From: "Alberto Brito" <comercial em abritolda.com>
To: <lista em firebase.com.br>
Sent: Tuesday, June 19, 2007 1:36 PM
Subject: Re: [firebase-br] ajuda para query
obrigado Kleber Caneva,
mas se acha isso grande ainda nao viu um mapa que ca tenho.
mas contudo tentei fazer uma procedure selecionavel e nao me pareceu
ganhar perfomance.
obrigado
Kleber Caneva escreveu:
> Pelo tamanho do Select, já lhe dou o primeiro conselho.. use SP
> Selecionavel..
>
> Além de performace, ficará mais legivel.
>
> []´s
>
> Kléber Caneva
>
> ----- Original Message -----
> From: "Alberto Brito" <comercial-82rk/MUwluaB+jHODAdFcQ em public.gmane.org>
> To: <lista-JZX6CTs6PlE39yzSjRtAkw em public.gmane.org>
> Sent: Tuesday, June 19, 2007 12:30 PM
> Subject: [firebase-br] ajuda para query
>
>
> Oi
>
> Venho pedir a ajuda do pessoal, para ver se e possivel optimizar uma
> query.
>
> tenho a seguinte query:
>
> SELECT
> ARTIGOS.CODART,
> CAST(' === Saldo Anterior ===' AS VARCHAR(90))NOMART,
> CAST('1' AS INTEGER) TIPO,
> CAST('' AS VARCHAR(4)) SERIE,
> CAST('0' AS INTEGER) NUMERO,
> CAST('12-30-1899' AS DATE) DATA,
> CAST('' AS VARCHAR(30)) DESCRI,
> CAST('' AS VARCHAR(16)) CLI,
> CAST('' AS VARCHAR(90)) NOME,
> CAST('1' AS INTEGER) ARMAZEM,
> CAST('0' AS NUMERIC(15,3)) IVA,
> SUM((case when (tipo_doc.DEBITO_CREDITO='N') then FAC_DET.QUANT else
> (FAC_DET.QUANT*-1) end)) AS QUANT,
> (SELECT coalesce(avg(FAC_DET.PREC_UNIT),0)
> FROM
> FAC_DET
> INNER JOIN TIPO_DOC ON (FAC_DET.ARMAZEM = TIPO_DOC.ARMAZEM)
> AND (FAC_DET.TIPO = TIPO_DOC.NUMERO)
> AND (FAC_DET.SERIE = TIPO_DOC.SERIE)
> WHERE
> (FAC_DET.ACTZ_STOCK = 'S') AND
> (TIPO_DOC.DOC_ENTRADA = 'S') AND
> (FAC_DET.COD_ART = artigos.codart)
> and (FAC_DET.DATA<='12-30-1899')) AS PMP
> FROM
> ARTIGOS
> INNER JOIN FAC_DET ON (ARTIGOS.CODART = FAC_DET.COD_ART)
> INNER JOIN FACT_CAB ON (FAC_DET.ARMAZEM = FACT_CAB.ARMAZEM)
> AND (FAC_DET.TIPO = FACT_CAB.TIPO_DOC)
> AND (FAC_DET.SERIE = FACT_CAB.SERIE)
> AND (FAC_DET.NUMERO = FACT_CAB.NUMERO)
> AND (FAC_DET.DATA = FACT_CAB.DATA_DOC)
> INNER JOIN TIPO_DOC ON (FACT_CAB.ARMAZEM = TIPO_DOC.ARMAZEM)
> AND (FACT_CAB.TIPO_DOC = TIPO_DOC.NUMERO)
> AND (FACT_CAB.SERIE = TIPO_DOC.SERIE)
> WHERE
> (FAC_DET.ACTZ_STOCK = 'S')
> and (FAC_DET.DATA <= '12-30-1899' )
> AND ARTIGOS.CODART>='MAZOOTE'
> AND ARTIGOS.CODART<='MAZOOTE'
> GROUP BY
> 1,2,3,4,5,6,7,8,9,10,11
> union all
> SELECT
> ARTIGOS.CODART,
> ARTIGOS.NOMART,
> FAC_DET.TIPO,
> FAC_DET.SERIE,
> FAC_DET.NUMERO,
> FACT_CAB.DATA_DOC,
> FACT_CAB.DESCRI,
> FACT_CAB.CLI,
> FACT_CAB.NOME,
> FACT_CAB.ARMAZEM,
> FAC_DET.IVA,
> (case when (tipo_doc.DEBITO_CREDITO='N') then FAC_DET.QUANT else
> (FAC_DET.QUANT*-1) end) as QUANT,
> (SELECT coalesce(avg(FAC_DET.PREC_UNIT),0)
> FROM
> FAC_DET
> INNER JOIN TIPO_DOC ON (FAC_DET.ARMAZEM = TIPO_DOC.ARMAZEM)
> AND (FAC_DET.TIPO = TIPO_DOC.NUMERO)
> AND (FAC_DET.SERIE = TIPO_DOC.SERIE)
> WHERE
> (FAC_DET.ACTZ_STOCK = 'S') AND
> (TIPO_DOC.DOC_ENTRADA = 'S') AND
> (FAC_DET.COD_ART = artigos.codart)
> and (FAC_DET.DATA<=FACT_CAB.DATA_DOC)) AS PMP
> FROM
> ARTIGOS
> INNER JOIN FAC_DET ON (ARTIGOS.CODART = FAC_DET.COD_ART)
> INNER JOIN FACT_CAB ON (FAC_DET.ARMAZEM = FACT_CAB.ARMAZEM)
> AND (FAC_DET.TIPO = FACT_CAB.TIPO_DOC)
> AND (FAC_DET.SERIE = FACT_CAB.SERIE)
> AND (FAC_DET.NUMERO = FACT_CAB.NUMERO)
> AND (FAC_DET.DATA = FACT_CAB.DATA_DOC)
> INNER JOIN TIPO_DOC ON (FACT_CAB.ARMAZEM = TIPO_DOC.ARMAZEM)
> AND (FACT_CAB.TIPO_DOC = TIPO_DOC.NUMERO)
> AND (FACT_CAB.SERIE = TIPO_DOC.SERIE)
> WHERE
> (FAC_DET.ACTZ_STOCK = 'S')
> and (FAC_DET.DATA > '12-30-1899' )
> and (FAC_DET.DATA <= '06-19-2007' )
> AND ARTIGOS.CODART>='MAZOOTE'
> AND ARTIGOS.CODART<='MAZOOTE'
> ORDER BY 1 ASC
> , 2 ASC
> , 3 ASC
> , 4 ASC
>
>
> ela esta a demorar imenso tempo para me retornar os dados
> migrei para o firebird 2.01
> e possivel com os novos recursos optimizar a query para um melhor
> desempenho?
>
>
> Obrigado pessoal
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para editar sua configuração na lista, use o endereço
> http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
> Esta mensagem foi verificada pelo E-mail Protegido Terra.
> Scan engine: McAfee VirusScan / Atualizado em 18/06/2007 / Versão:
> 5.1.00/5055
> Proteja o seu e-mail Terra: http://mail.terra.com.br/
>
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para editar sua configuração na lista, use o endereço
> http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Para editar sua configuração na lista, use o endereço
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
Para consultar mensagens antigas: http://firebase.com.br/pesquisa
Esta mensagem foi verificada pelo E-mail Protegido Terra.
Scan engine: McAfee VirusScan / Atualizado em 19/06/2007 / Versão:
5.1.00/5056
Proteja o seu e-mail Terra: http://mail.terra.com.br/
Mais detalhes sobre a lista de discussão lista