none
VIEWS E INDICES RRS feed

  • 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

    terça-feira, 26 de abril de 2011 14:15

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
    terça-feira, 26 de abril de 2011 14:29
  • Apoiando o que já foi dito adiciono que vc também pode criar VIEWs indexadas;
    terça-feira, 26 de abril de 2011 16:06
  • 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
    quarta-feira, 27 de abril de 2011 04:54

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
    terça-feira, 26 de abril de 2011 14:29
  • 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
    terça-feira, 26 de abril de 2011 15:16
    Moderador
  • Apoiando o que já foi dito adiciono que vc também pode criar VIEWs indexadas;
    terça-feira, 26 de abril de 2011 16:06
  • 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
    quarta-feira, 27 de abril de 2011 04:54