2012-04-19 26 views
6

Tengo una consulta en la que una búsqueda de índice (no agrupada) está tardando más del 93% del tiempo total de ejecución.Mejora del rendimiento de la búsqueda de índices no agrupados

plan de ejecución de la consulta, el número estimado de filas para la búsqueda de índice es 1 y el número real de filas es 209. ¿Si este es el problema?

Cómo mejorar el rendimiento de una búsqueda de índice no agrupado. Una respuesta genérica será útil. Plan de

Ejecución: enter image description here

Y siguiendo es la consulta,

SELECT TOP 11 DVPR1.IncidentID, DVPR2.IncidentID, Rel.ID, PER1.[LastName], PER1.[FirstName] 
FROM 
    DV_PHPersonalRecord DVPR1 
INNER JOIN Relationship Rel 
    ON Rel.source_Id = DVPR1.RowId 
    AND Rel.typeCode = 'RPLC' 
INNER JOIN DV_PHPersonalRecord DVPR2 
    ON DVPR2.RowId = Rel.target_Id 
INNER JOIN [T_Attribute] (nolock) 
    ON [T_Attribute].[ActRelationship_ID] = Rel.[ID] 
    AND [T_Attribute].[name] = 'MergeFlag' 
    AND ([T_Attribute].[valueString_Code] = 'pending') 
INNER JOIN [Person] PER1 (nolock) 
    ON DVPR1.[PersonDR]=PER1.[RowID] 
INNER JOIN [Person] PER2 (nolock) 
    ON DVPR2.[PersonDR]=PER2.[RowID] 
WHERE 
    DVPR1.TypeDR = 718990 
    AND 
    (PER1.[Code_ID] IS NULL OR (PER1.[Code_ID] = '6516' 
          AND PER1.[OptionsCode_ID] = '6522') 
    ) 
    AND 
    (PER2.[Code_ID] IS NULL OR (PER2.[Code_ID] = '6516' 
           AND PER2.[OptionsCode_ID] = '6522') 
    ) 
ORDER BY PER1.[LastName] ASC, 
     PER1.[FirstName] ASC 
+0

¿Cuánto tiempo lleva la consulta? ¿Por qué crees que hay un problema? – Tomalak

+0

la consulta tarda alrededor de 14 segundos ... el requisito es que debe completarse en 3 segundos –

+3

¿Se puede publicar el plan de ejecución y la consulta? –

Respuesta

12

cuando veo una discrepancia entre las filas de espera y las filas reales, me gustaría ver primero la actualización de las estadísticas de todos los involucrados mesas.

Se espera que el optimizador de consultas haga esto automáticamente, pero ... a veces trae beneficios.

Esto generalmente requiere permisos de tipo DBA.

Consulte la página de Microsoft en las estadísticas de actualización.

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

+0

+ 1 para proporcionar un enlace muy útil e iluminado sobre cómo mejorar una búsqueda de índice agrupado. Mi consulta obtuvo mucho rendimiento desde 1 minuto 49 segundos hasta 3 segundos después de actualizar las estadísticas. Muchas gracias GregHNZ! – G21

Cuestiones relacionadas