[firebase-br] Otimização de View

Gustavo Luis Hinterholz gustavoluishinterholz em gmail.com
Sex Set 12 10:06:39 -03 2014


Tem que olhar o plano de execucao do teu SQL da VIEW para ver o que está
mais consumindo os recursos com os diferentes "Where" que falaste.
Já tive problemas sim, na epoca, o banco estava mal projetado, e nas
ligações das tabelas tinha campos com diferentes tamanhos mas mesmo tipo
sendo comparados, exemplo:

inner join TABELA on (Campo 1 =Campo  2 )
Onde o campo 1 seria um varchar(100) e o de Campo 2 um varchar(50) por
exemplo.

Na epoca, como não poderia sair alterando o tamanho de campos, fiz um cast
na ligação, o que deixou a VIEW "voando", o correto, claro,  seria ajustar
o tamanho dos campos, mas dos males o menor...
Ficou assim entao :


inner join TABELA on (Campo1 =cast(Campo2 as varchar(100)))

Mas isso é so um exemplo, podem ser inúmeras coisas causando a lentidão...


Att
Gustavo Luis Hinterholz
9381-8192
*http://gustavohinterholz.blogspot.com.br/
<http://gustavohinterholz.blogspot.com.br/>* <http://www.gustavo/>

Em 12 de setembro de 2014 09:57, Renan Rogowski Pozzo <renanrpozzo em gmail.com
> escreveu:

> Bom dia.
> Foi criado uma view em nossa base, com ligação de algumas tabelas.
>
> Se efetuo um *select* nessa view utilizando o *where* em algum dos campos
> da tabela principal, que possuem índice, a pesquisa é instantânea. Porém se
> efetuo um *select* com o *where* em um dos campos das tabelas ligadas à
> principal, demora. Esses campos também possuem índice, mas parece que
> quando efetuo a consulta na view não estão sendo usados esses índices.
>
> Alguém tem alguma sugestão? Ou já passou por uma situação semelhante?
>
> Desde já obrigado.
>
> Abraço,
> Renan Rogowski Pozzo
>
> *"Entrega o teu caminho ao Senhor; confia nele, e ele o fará." Salmos 37:5*
> ______________________________________________
> 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