Usuário com melhor resposta
View(Fazer join com view)

Pergunta
-
Boa tarde,
Varias vezes ao criar uma view faço um join com outras views, a construção é a mais rapida do que fazer varios join e outras tabelas, e a view fica com a escrita menor. Enfim a duvida é se criar view fazendo join com outras view afeta o desempenho. Qual a opnião de vocês sobre isso?
Grato,
Dyego Coelho
Respostas
-
Diego,
Qualquer query deve levar em consideração os índices correspondentes para uma boa performance. E em tese, criar views aninhadas não deveria impactar a perforamance, desde que o limite de 32 níveis de aninhamento sejam respeitados e as tabelas de origem possuam os índices corretos. Entretanto, nem sempre é isso que se vê nas bases de dados, onde as views aninhadas são criadas indiscriminadamente. Muitas vezes são criadas views de views com diversas construções que podem impactar a performance. De qualquer forma, sempre que possível, a view de view deve ser evitada.
Roberto Fonseca MCT / MCITP - Database Administrator 2008 MCITP - Database Developer 2008 MCITP - Business Intelligence 2008- Sugerido como Resposta Roberson Ferreira _Moderator quinta-feira, 14 de julho de 2011 00:45
- Marcado como Resposta Dyego Coelho de Souza quinta-feira, 14 de julho de 2011 17:00
-
Boa Noite,
Não há nenhuma restrição técnica em usar uma View que chame outras Views. Do ponto de vista de encapsulamento, essa até pode ser uma boa idéia, mas vejo que várias views aninhadas podem provocar uma alto grau de acoplamento e potencialmente desempenho. Até acho que o otimizador não irá se perder, mas o problema é quando múltiplas views referenciam a mesma tabela. Suponha que uma view V1 chame as tabelas A e B e que uma View V2 chame as tabelas B e C. Combinar as tabelas A e C pode ser mais interessante que combinar as Views V1 e V2...
[ ]s,
Gustavo Maia Aguiar
http://gustavomaiaaguiar.wordpress.com
Classifique as respostas. O seu feedback é imprescindível- Sugerido como Resposta Dyego Coelho quinta-feira, 14 de julho de 2011 16:55
- Marcado como Resposta Dyego Coelho de Souza quinta-feira, 14 de julho de 2011 16:59
Todas as Respostas
-
-
Diego,
Qualquer query deve levar em consideração os índices correspondentes para uma boa performance. E em tese, criar views aninhadas não deveria impactar a perforamance, desde que o limite de 32 níveis de aninhamento sejam respeitados e as tabelas de origem possuam os índices corretos. Entretanto, nem sempre é isso que se vê nas bases de dados, onde as views aninhadas são criadas indiscriminadamente. Muitas vezes são criadas views de views com diversas construções que podem impactar a performance. De qualquer forma, sempre que possível, a view de view deve ser evitada.
Roberto Fonseca MCT / MCITP - Database Administrator 2008 MCITP - Database Developer 2008 MCITP - Business Intelligence 2008- Sugerido como Resposta Roberson Ferreira _Moderator quinta-feira, 14 de julho de 2011 00:45
- Marcado como Resposta Dyego Coelho de Souza quinta-feira, 14 de julho de 2011 17:00
-
Boa Noite,
Não há nenhuma restrição técnica em usar uma View que chame outras Views. Do ponto de vista de encapsulamento, essa até pode ser uma boa idéia, mas vejo que várias views aninhadas podem provocar uma alto grau de acoplamento e potencialmente desempenho. Até acho que o otimizador não irá se perder, mas o problema é quando múltiplas views referenciam a mesma tabela. Suponha que uma view V1 chame as tabelas A e B e que uma View V2 chame as tabelas B e C. Combinar as tabelas A e C pode ser mais interessante que combinar as Views V1 e V2...
[ ]s,
Gustavo Maia Aguiar
http://gustavomaiaaguiar.wordpress.com
Classifique as respostas. O seu feedback é imprescindível- Sugerido como Resposta Dyego Coelho quinta-feira, 14 de julho de 2011 16:55
- Marcado como Resposta Dyego Coelho de Souza quinta-feira, 14 de julho de 2011 16:59
-