Usuário com melhor resposta
VIEWS E INDICES

Pergunta
-
Colegas,
Tenho uma pergunta básica, mas nãi achei no google.
Quando crio uma VIEWS, sua simples criação garante que os indices, necessários para melhor performace e utilização serão criados automaticamente, mediante a solicitaçãoi da view?
Obrigado.
Benedito Santana
Respostas
-
Benedito Santana, bom dia!
A criação de uma VIEW não faz referência alguma a criação de um índice. Se você deseja realizar a otimização desssa VIEW é necessário que você visualize o plano de execução das mesma e assim possa realizar um tuning da view, ou seja criar índices para melhorar sua consulta.
Att,
Luan.Moreno MCP || MTA ||MCTS SQL Server 2005 Blog: http://luanmorenodba.wordpress.com Twitter: @luansql Classifique as respostas. O seu feedback é imprescindível- Editado Luan.Moreno A.k.a SQL.SoulMVP terça-feira, 26 de abril de 2011 14:29 Alteracao
- Sugerido como Resposta Luan.Moreno A.k.a SQL.SoulMVP terça-feira, 26 de abril de 2011 17:35
- Marcado como Resposta Eder Costa sexta-feira, 29 de abril de 2011 14:50
-
Apoiando o que já foi dito adiciono que vc também pode criar VIEWs indexadas;
- Sugerido como Resposta Luan.Moreno A.k.a SQL.SoulMVP terça-feira, 26 de abril de 2011 17:35
- Marcado como Resposta Eder Costa sexta-feira, 29 de abril de 2011 14:50
-
Boa Noite,
Uma view nada mais é do que um SELECT armazenado ou também um SELECT com um apelido. Uma vez que sua chamada força uma nova compilação do SELECT e avaliação dos planos possíveis, certamente que uma consulta contra uma VIEW irá avaliar a possibilidade de utilização de índices já existentes na tabela para melhorar a performance.
Entretanto, a criação de uma view não irá incorrer de forma nenhuma na criação automática de índices para melhorá-la. Em nenhuma situação, os bancos de dados criam índices automaticamente. Somente quem entende do negócio e das consultas pode realmente informar que índices são úteis. O SGBD jamais irá criá-los automaticamente tendo em vista a melhora de uma consulta em particular. Muitas vezes a criação de um índice pode auxiliar uma consulta, mas pode piorar as atividades de gravação. Como o banco não temo como ponderar isso, os índices não são criados.
Da mesma forma que na tabela, caberá a você escolher e criar os índices realmente úteis. O que o SQL Server pode ajudar é disponibilizar o Database Tuning Advisor para sugerir os melhores índices conforme uma avaliação pontual.
[ ]s,
Gustavo Maia Aguiar
http://gustavomaiaaguiar.word.press.com
Classifique as respostas. O seu feedback é imprescindível- Sugerido como Resposta Gustavo Maia Aguiar quarta-feira, 27 de abril de 2011 04:54
- Marcado como Resposta Eder Costa sexta-feira, 29 de abril de 2011 14:50
Todas as Respostas
-
Benedito Santana, bom dia!
A criação de uma VIEW não faz referência alguma a criação de um índice. Se você deseja realizar a otimização desssa VIEW é necessário que você visualize o plano de execução das mesma e assim possa realizar um tuning da view, ou seja criar índices para melhorar sua consulta.
Att,
Luan.Moreno MCP || MTA ||MCTS SQL Server 2005 Blog: http://luanmorenodba.wordpress.com Twitter: @luansql Classifique as respostas. O seu feedback é imprescindível- Editado Luan.Moreno A.k.a SQL.SoulMVP terça-feira, 26 de abril de 2011 14:29 Alteracao
- Sugerido como Resposta Luan.Moreno A.k.a SQL.SoulMVP terça-feira, 26 de abril de 2011 17:35
- Marcado como Resposta Eder Costa sexta-feira, 29 de abril de 2011 14:50
-
Benedito,
Como dito pelo Luan, uma view não cria nenhum indice, voce que deve criar os indices para se adequar e melhorar a performance de sua view, como detro da view existe um select, este select usara esses indices criados.
------------------------------------------------------------- Oracle OCA11g -
Apoiando o que já foi dito adiciono que vc também pode criar VIEWs indexadas;
- Sugerido como Resposta Luan.Moreno A.k.a SQL.SoulMVP terça-feira, 26 de abril de 2011 17:35
- Marcado como Resposta Eder Costa sexta-feira, 29 de abril de 2011 14:50
-
Boa Noite,
Uma view nada mais é do que um SELECT armazenado ou também um SELECT com um apelido. Uma vez que sua chamada força uma nova compilação do SELECT e avaliação dos planos possíveis, certamente que uma consulta contra uma VIEW irá avaliar a possibilidade de utilização de índices já existentes na tabela para melhorar a performance.
Entretanto, a criação de uma view não irá incorrer de forma nenhuma na criação automática de índices para melhorá-la. Em nenhuma situação, os bancos de dados criam índices automaticamente. Somente quem entende do negócio e das consultas pode realmente informar que índices são úteis. O SGBD jamais irá criá-los automaticamente tendo em vista a melhora de uma consulta em particular. Muitas vezes a criação de um índice pode auxiliar uma consulta, mas pode piorar as atividades de gravação. Como o banco não temo como ponderar isso, os índices não são criados.
Da mesma forma que na tabela, caberá a você escolher e criar os índices realmente úteis. O que o SQL Server pode ajudar é disponibilizar o Database Tuning Advisor para sugerir os melhores índices conforme uma avaliação pontual.
[ ]s,
Gustavo Maia Aguiar
http://gustavomaiaaguiar.word.press.com
Classifique as respostas. O seu feedback é imprescindível- Sugerido como Resposta Gustavo Maia Aguiar quarta-feira, 27 de abril de 2011 04:54
- Marcado como Resposta Eder Costa sexta-feira, 29 de abril de 2011 14:50