locked
SQL Server 2008 - Dúvida. RRS feed

  • Pergunta

  • Olá pessoal, bom dia.

    Tenho duas dúvidas em relação ao SQL Server 2008 R2.

    1 - Como é gerado um plano de execução no SQL Server 2008?

    2 - Existe alguma documentação da Microsoft que tenha um exemplo de como criar uma view no SQL Server 2008?

    Obrigado.

    Hezequias Vasconcelos


    Hezequias Vasconcelos

    quarta-feira, 11 de julho de 2012 12:52

Respostas

  • Roberson,

          O plano de execução é muito interessante e uma das funcionalidades mais impressionantes do SQL Server!

           Basicamente, o SQL Server possui uma área de memória, uma parte da memória que ele utiliza específicamente com o objetivo de armazenar planos de execução. Esta área é chamada de Procedure Cache.

            Nesta área de memória é que fica armazenada a Query Plan, uma (ou talvez 2) copias do plano de execução de uma query. O SQL Server ao ter que executar uma query, primeiro verifica nesta área de memória para ver se ele ja' tem o plano de execução. Se ele tiver, ele utiliza este plano de execução, ao invés de passar por todos os passos (sintaxe, verifica se tem todos os objetos, campos, tabelas, compila, otimiza e executa), ele "pula" esses passos, obvio, ele já sabe que a sintaxe está correta, já sabe que tem todos os objetos citados na query, já sabe qual o índice utilizar...).

             Uma das coisas que precisamos ter em mente é que o uso de queries padronizadas melhora para o SQL Encontrar o plano de execução, evitando que ele tenha que gerar um novo para cada query. Portanto, evite utilizar sp_executesql para queries dinamicas...

             Vou preparar um material detalhado, de como as coisas acontecem "por baixo dos panos" e posto aqui!
    quarta-feira, 11 de julho de 2012 21:29
    Moderador

Todas as Respostas

  • Olá pessoal, bom dia.

    Tenho duas dúvidas em relação ao SQL Server 2008 R2.

    1 - Como é gerado um plano de execução no SQL Server 2008?

    2 - Existe alguma documentação da Microsoft que tenha um exemplo de como criar uma view no SQL Server 2008?

    Obrigado.

    Hezequias Vasconcelos


    Hezequias Vasconcelos

    Tenho a mesma dúvida, conto a ajuda dos colaboradores.

    Não esqueça de marcar o post como útil caso tenha te ajudado.

    quarta-feira, 11 de julho de 2012 13:47
  • Roberson,

          O plano de execução é muito interessante e uma das funcionalidades mais impressionantes do SQL Server!

           Basicamente, o SQL Server possui uma área de memória, uma parte da memória que ele utiliza específicamente com o objetivo de armazenar planos de execução. Esta área é chamada de Procedure Cache.

            Nesta área de memória é que fica armazenada a Query Plan, uma (ou talvez 2) copias do plano de execução de uma query. O SQL Server ao ter que executar uma query, primeiro verifica nesta área de memória para ver se ele ja' tem o plano de execução. Se ele tiver, ele utiliza este plano de execução, ao invés de passar por todos os passos (sintaxe, verifica se tem todos os objetos, campos, tabelas, compila, otimiza e executa), ele "pula" esses passos, obvio, ele já sabe que a sintaxe está correta, já sabe que tem todos os objetos citados na query, já sabe qual o índice utilizar...).

             Uma das coisas que precisamos ter em mente é que o uso de queries padronizadas melhora para o SQL Encontrar o plano de execução, evitando que ele tenha que gerar um novo para cada query. Portanto, evite utilizar sp_executesql para queries dinamicas...

             Vou preparar um material detalhado, de como as coisas acontecem "por baixo dos panos" e posto aqui!
    quarta-feira, 11 de julho de 2012 21:29
    Moderador
  • Olá Roberto, bom dia.

    Existe algum material disponível para consulta e se possível com algum exemplo?

    Obrigado.


    Hezequias Vasconcelos

    segunda-feira, 16 de julho de 2012 11:25