Estoy tratando de mejorar el rendimiento en una consulta que se ejecuta muy lentamente. Después de pasar por el plan de ejecución real; Descubrí que Clustered Index Seek ocupaba el 82%. ¿Hay alguna forma de que mejore el rendimiento en una búsqueda de índice ? A continuación se muestra una imagen del problema Index Search del plan de ejecución, así como del índice y la tabla que está utilizando.Cómo mejorar el rendimiento en un índice agrupado Buscar
alt text http://img340.imageshack.us/img340/1346/seek.png
Índice:
/****** Object: Index [IX_Stu] Script Date: 12/28/2009 11:11:43 ******/
CREATE CLUSTERED INDEX [IX_Stu] ON [dbo].[stu]
(
[StuKey] ASC
)WITH (PAD_INDEX = OFF, SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, IGNORE_DUP_KEY = OFF, ONLINE = OFF) ON [PRIMARY]
de mesa (algunas columnas omitidas por razones de brevedad):
CREATE TABLE [dbo].[stu](
[StuCertKey] [int] IDENTITY(1,1) NOT NULL,
[StuKey] [int] NULL
CONSTRAINT [PK_Stu] PRIMARY KEY NONCLUSTERED
(
[StuCertKey] ASC
)WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF, FILLFACTOR = 80) ON [PRIMARY]
) ON [PRIMARY]
"It Depends." ... – RBarryYoung
¿Es una mala idea para mí tener el índice agrupado en algo que no sea la clave principal? La consulta nunca usa la clave principal, así que pensé que sería mejor crear el índice agrupado en la columna que está unida más (StuKey) –
¿Podría publicar la consulta? Además, hay muchas filas en la tabla y aproximadamente cuántas devuelven la consulta. – dan