Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

TiagoSilva

Consulta a partir de View lenta

Recommended Posts

Olá Senhores!

 

Estou com um problema no mínimo curioso: Eu tenho uma view que representa uma consulta relativamente grande, com cerca de 10 join's, sendo que alguns são left join e outros inner join. Acontece que quando eu faço um select, selecionando a view, está muuuuuito lento em comparação quando acesso diretamente.

 

Alguem sabe qual a razão do problema?

 

Já fiz vacuum das tabelas, reindexei indices, verifiquei as amarrações, está td ok! só quando eu seleciono a View que dá o problema.

 

Obrigado,

Tiago.

Compartilhar este post


Link para o post
Compartilhar em outros sites
... eu faço um select, selecionando a view, está muuuuuito lento em comparação quando acesso diretamente. ...

 

Quando o SELECT que gera a view é executado a parte a demora é a mesma ?

 

O SELECT da view foi otimizado ? Fizeram o plano de execução da mesma ?

 

Haveria como reduzir a quantidade de registros da busca da view, (filtar por filial, data etc) ?

 

Lembre que apesar do SELECT de uma view parecer simples

 

SELECT * FROM MINHA_VIEW

 

O mecanismo por detrás da view pode ser complicado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Quando o SELECT que gera a view é executado a parte a demora é a mesma ?

 

Não, o select direto está bem mais rápido.

 

 

O SELECT da view foi otimizado ? Fizeram o plano de execução da mesma ?

 

Fale mais sobre isso parceiro, você se refere a criação de índices por exemplo?

 

Haveria como reduzir a quantidade de registros da busca da view, (filtar por filial, data etc) ?

 

Estou aplicado o Where no Select da View:

 

Select campo1, campo2 FROM minha_view WHERE campo1 = 1

 

Agradeço a ajuda Motta!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Otimizar seria ver se o query está utilizando os índices possíveis, isto pode ser visto pela analise do plano de execução.

 

Estranho o fato do SELECT não ser lento e a VIEW ser, tente um select count(*) as ínves do select campos para descartar a hipotese da rapidez da query ser apenas paginação.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.