Skip to main content
Announcements
Global Transformation Awards! Applications are now open. Submit Entry
cancel
Showing results for 
Search instead for 
Did you mean: 
lcarlos_pe
Contributor III
Contributor III

Não consigo extrair dados de uma Tabela Virtual (View)

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.

Labels (1)
  • Other

1 Solution

Accepted Solutions
lcarlos_pe
Contributor III
Contributor III
Author

Bom dia. Foi revisando o select junto à fornecedor do ERP. Grato.

View solution in original post

13 Replies
Clever_Anjos
Employee
Employee

quando você roda o SQL por um client também está lento?

lcarlos_pe
Contributor III
Contributor III
Author

Clever, primeiramente obrigado pela resposta.

Sim, quando faço consultas por um client também está bastante lento.

Clever_Anjos
Employee
Employee

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

lcarlos_pe
Contributor III
Contributor III
Author

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 ;

mario_sergio_ti
Partner - Specialist
Partner - Specialist

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.

Consultor certificado | Quem compartilha, aprende!
https://www.linkedin.com/in/mariosergioti
Clever_Anjos
Employee
Employee

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' ;

nicolett_yuri

Estou com você, o problema dever ser de índice ou até rede, mas aí a analise complica rsrs

lcarlos_pe
Contributor III
Contributor III
Author

Olá, Mário. Obrigado mas continua muito lento. Tentei até (para testes) tentar extrair apenas um campo da tabela, mas não houve sucesso.

mario_sergio_ti
Partner - Specialist
Partner - Specialist

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.

Consultor certificado | Quem compartilha, aprende!
https://www.linkedin.com/in/mariosergioti