Compartir a través de


Cómo crear una guía de plan (SQL Server Management Studio)

En este tema se describe cómo crear una guía de plan mediante SQL Server Management Studio. Las guías de plan influyen en la optimización de las consultas adjuntando sugerencias de consulta o un plan de consulta fijo. En la guía de plan, se especifica la instrucción de Transact-SQL que se desea optimizar y además una cláusula OPTION que incluye las sugerencias de consulta que se desean utilizar o un plan de consulta específico con el que desea optimizar la consulta. Cuando la consulta se ejecuta, el optimizador de consultas hace coincidir la instrucción de Transact-SQL con la guía de plan y además asocia en tiempo de ejecución la cláusula OPTION a la consulta o utiliza el plan de consultas especificado.

El ejemplo siguiente crea una guía de plan para una instrucción Transact-SQL y aplica la sugerencia de consulta FORCESEEK a la instrucción. Esta sugerencia de consulta obliga al optimizador de consultas a usar sólo una operación de Index Seek para tener acceso a los datos de la tabla especificada.

Para crear un ejemplo de guía de plan

  1. En el Explorador de objetos, conéctese a una instancia de Database Engine (Motor de base de datos) y expándala.

  2. Expanda Bases de datos, la base de datos AdventureWorks y, por último, Programación.

  3. Haga clic con el botón secundario en Guías de plan y, a continuación, haga clic en Nueva guía de plan.

  4. En Nombre, escriba ForceseekPlan para el nombre de la guía de plan.

  5. En Instrucción, escriba la siguiente instrucción Transact-SQL. Esta es la instrucción contra la que se aplicará la guía de plan.

    SELECT c.LastName, c.FirstName, HumanResources.Employee.Title
    FROM HumanResources.Employee
    JOIN Person.Contact AS c ON HumanResources.Employee.ContactID = c.ContactID
    WHERE HumanResources.Employee.ManagerID = 3 ORDER BY c.LastName, c.FirstName;
    
  6. En Tipo de ámbito, seleccione SQL como tipo de entidad en la que aparecerá la instrucción Transact-SQL.

  7. En Sugerencias, escriba la siguiente cláusula OPTION.

    OPTION (TABLE HINT(HumanResources.Employee, FORCESEEK))
    
  8. Para crear el modelo de informe, haga clic en Aceptar.

Para comprobar que la guía de plan se corresponde a una consulta.

  1. Inicie un seguimiento de SQL Server Profiler, asegurándose de que están seleccionados los tipos de evento Guía de plan correcta y Guía de plan incorrecta (ubicados bajo el nodo Rendimiento ).

  2. Ejecute la consulta proporcionada en el paso 5 del procedimiento anterior.

  3. Pause la traza del SQL Server Profiler.

  4. Busque el evento Guía de plan correcta para la consulta afectada.

  5. Si no se pudo comparar la guía de plan con la consulta, asegúrese de que la consulta se proporciona en el mismo formato, carácter por carácter, tal y como se especificó en la instrucción de la guía de plan. Esto incluye tabulaciones, espacios, retornos de carro o avances de línea.