Blog gratis
Reportar
Editar
¡Crea tu blog!
Compartir
¡Sorpréndeme!
img
img

 

 

SQL Server
Blog. (Apuntes y Recopilaciones) por Norman M. Pardell

img
img
12 de Mayo, 2011 · Panes-Guiados-SQL-Server

Hints and Plan Guides. Panes Guiados SQL Server.

 Trata de no usar Planes Guiados o úsalos cuando no te quede otra opción.  Básicamente, cuando tenemos un Plan Guiado, estamos diciendo al Optimizador de consultas que es lo que tiene que hacer. Estamos limitando las opciones que nos ofrece el Optimizador, y solo hemos de usarlo cuando conocemos bien el problema, y estamos seguros que el Optimizador no nos esta dando una buena solución.

 La única ventaja de usar estos planes guiados es que no hay necesidad de modificar la aplicación. Todo se pude hacer en la base de datos, sin necesidad de modificar la aplicación. Esto es muy útil, cuando nosotros tenemos aplicaciones donde no tenemos el código, o cuando por temas de licencia o soporte no se nos permite modificar el código.

 Por poner un ejemplo, Imagina que tienes una Select... con un plan de ejecución que utiliza un “Hash Match”, y por cualquier razón quieres evitar que utilice este Hash, y en su lugar forzar un “Loop Join”, para esto crearíamos el plan guiado para dicha consulta de la forma:

 EXEC sp_create_plan_guide

   @name = N’plan_guide_test’,

   @stmt = N’ Select campos from tabla….’,

   @type = N’OBJECT,

   @module_or_batch = N’test’,

   @params = NULL,

   @hints = N’OTION (LOOP JOIN);

 

 En lugar de Panes Guiados se puede usar HINTs

 Los Hints son opciones o estrategias especificadas para que el procesador de consultas de SQL Server las aplique en instrucciones SELECT, INSERT, UPDATE o DELETE. Las sugerencias reemplazan a cualquier plan de ejecución que pueda seleccionar el optimizador de consultas para una consulta.

 Te paso un par de enlaces:

http://msdn.microsoft.com/en-us/library/ms187373.aspx

http://msdn.microsoft.com/en-us/library/ms187713.aspx

 

Fuentes:

Microsoft, MSDN, Benjamin Nevares

Apunte y recopilación por Norman M. Pardell

Puedes consultarme, si deseas cualquier aclaración, pregunta o sugerencia en: Contacto, contestaré tan pronto como me sea posible.

 

 

publicado por normanmpardell a las 18:59 · Sin comentarios  ·  Recomendar
Comentarios (0) ·  Enviar comentario
Esta entrada no admite comentarios.
img
.Sobre mí
FOTO

Norman M. Pardell

MCITP: Database Administrator & Database Developer, SQL Server 2008. MCC Award Certificate. Consultor Senior de bases de datos en Capgemini España, S.L. Asesoramiento en implementación, desarrollo y gestión de bases de datos en grandes compañías. Actualmente, asignado a proyecto en compañía líder en el sector energético global. Más de 10 años trabajando con SQL Server (y otros gestores de BBDD)

» Ver perfil

img
.Secciones
» Inicio
img
.Enlaces
» Microsoft MSDN Foros
» Windows Server 2012
img
.Más leídos
» Asignar la cantidad correcta de Memoria para SQL Server
» Base de Datos Sospechosa (Suspect)
» Como modificar la Intercalación (Collation) en SQL Server
» Como renombrar una instancia de SQL Server. sp_dropserver. sp_addserver
» Detectar bloqueos. SQL Server V.2005 y superiores
» Funciones SQL Server. Funciones escalares y funciones con valores de tabla.
» Integridad y corrupción en las bases de datos: DBCC CHECKDB
» Log de transacciones ( .ldf ). SQL Server.
» Migrando SQL Server 2005, 2008, 2008 R2 a SQL Server 2012
» Transacciones activas. SQL server 2008
img
.Nube de tags [?]
                                                           
img img
FULLServices Network | Crear blog | Privacidad