Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Pessoal,
Estou com um problema para extrair dados de uma tabela especifica do banco de dados. O que me deixa com a pulga atrás da orelha é que consegui extrair a mesma tabela num ambiente de testes (utilizando um banco de 2 semanas atrás - época em que eu já tinha esse problema na produção, então, descarto a possibilidade de ter problema no banco), porém, em ambiente de produção a extração é extremamente lenta, e o qlikview 12 não consegue extrair dados da tabela em questão. Vocês já passaram por algo deste tipo ou tem alguma sugestão para me passar?
Eu já testei em horários onde o banco não tem nenhuma concorrência mas não deu certo, também.
Usamos o Qlikview 12 e o banco é o Sybase 12.
Bom dia. Foi revisando o select junto à fornecedor do ERP. Grato.
quando você roda o SQL por um client também está lento?
Clever, primeiramente obrigado pela resposta.
Sim, quando faço consultas por um client também está bastante lento.
Então aparentemente é o SQL que está lento, correto?
Você tem apoio de um DBA para ajudar a otimizar esse SQL?
Se não coloque aqui a query, talvez tenha algo que possamos ajudar mesmo sem conhecer a fundo a modelagem do banco de dados
O comando é bem básico:
[MovtoBancarioCC]:
SQL SELECT CodEmpresa,
CodigoHistorico,
ComplementoDestino,
ContaDestino,
ContaOrigem,
DataFluxo,
DataMovimento,
DataReferencia,
DescricaoCentroCusto,
DescricaoCtaDestino,
DescricaoCtaOrigem,
Historico,
InfoAdic,
NomeEntidade,
NumDoctoDestino,
NumDoctoOrigem,
NumLote,
Observacao,
SeqCC,
seqcontabilizacao,
SeqLoteReal,
Tipo,
TipoLancto,
ValorMovimentoTotal,
ValorSaida
FROM DBA.MOVIMENTOBANCOSAIDACC where Year(DataFluxo)>= 2017 ;
Amigo, veja se melhora;
[MovtoBancarioCC]:
Load *
Where Year(DataFluxo)>= 2017;
SQL SELECT CodEmpresa,
CodigoHistorico,
ComplementoDestino,
ContaDestino,
ContaOrigem,
DataFluxo,
DataMovimento,
DataReferencia,
DescricaoCentroCusto,
DescricaoCtaDestino,
DescricaoCtaOrigem,
Historico,
InfoAdic,
NomeEntidade,
NumDoctoDestino,
NumDoctoOrigem,
NumLote,
Observacao,
SeqCC,
seqcontabilizacao,
SeqLoteReal,
Tipo,
TipoLancto,
ValorMovimentoTotal,
ValorSaida
FROM DBA.MOVIMENTOBANCOSAIDACC;
Tente desta forma, pode ser que melhore a performance, haja vista que não haverá condicionamento imputado direto no BD sobre uma estrutura que não se sabe como está a indexação e os possíveis Join's internas desta View.
Bom, como está sendo aplicada uma função, provavelmente um indice não está sendo usado em seu SQL
Tente primeiramente com
FROM DBA.MOVIMENTOBANCOSAIDACC where DataFluxo >= '2017-01-01' ;
Estou com você, o problema dever ser de índice ou até rede, mas aí a analise complica rsrs
Olá, Mário. Obrigado mas continua muito lento. Tentei até (para testes) tentar extrair apenas um campo da tabela, mas não houve sucesso.
Amigo;
Poxa, melhorou nem um segundo? rsrs
Tente então:
temp_MovtoBancarioCC:
SQL SELECT CodEmpresa,
CodigoHistorico,
ComplementoDestino,
ContaDestino,
ContaOrigem,
DataFluxo,
DataMovimento,
DataReferencia,
DescricaoCentroCusto,
DescricaoCtaDestino,
DescricaoCtaOrigem,
Historico,
InfoAdic,
NomeEntidade,
NumDoctoDestino,
NumDoctoOrigem,
NumLote,
Observacao,
SeqCC,
seqcontabilizacao,
SeqLoteReal,
Tipo,
TipoLancto,
ValorMovimentoTotal,
ValorSaida
FROM DBA.MOVIMENTOBANCOSAIDACC;
MovtoBancarioCC:
NoConcatenate Load * Resident temp_MovtoBancarioCC Where Year(DataFluxo)>= 2017;
Drop Table temp_MovtoBancarioCC;
Se não adiantar nada, então só obtendo apoio com o DBA por exemplo para otimizar esta query.