2010-08-31 20 views
9

que estoy haciendo un informe de índice en mi base de datos 2008 de MS SQL (base de datos de clic derecho -> Informes -> Índice de Estadísticas de uso)para mantener un índice - Analizar stastics uso de índices en SQL Server 2008

Me dice que una de mis índices utiliza: 88 usuario busca 0 usuario explora 6134141 actualizaciones de usuario

Puede alguien explicarme:

  1. cuál es la diferencia entre el usuario busca y exploraciones de usuario son?
  2. ¿Cómo debo determinar cuándo guardar un índice o soltarlo según el usuario busque + escaneos del usuario frente a las actualizaciones del usuario?

Creo que en este caso el costo de mantener el índice no vale la pena.

Respuesta

2

Un punto importante a tener en cuenta: las estadísticas de uso del índice se restablecen cada vez que se inicia la base de datos. Por lo tanto, es difícil evaluar sus 88 búsquedas sin saber cuándo se reinició por última vez. 88 busca en la última hora es bastante diferente a 88 búsquedas en el último mes.

  1. Una búsqueda de usuario busca una fila o conjunto de filas en particular en el índice que coincidan con los criterios de su consulta. Un escaneo del usuario lee todas las filas en el índice. Por razones obvias, las operaciones de búsqueda son preferibles a las operaciones de escaneo.
  2. No conozco ninguna norma general que diga "cuando la relación búsqueda/actualización es X, suelte el índice". Mire su índice en términos de estos General Design Guidelines y punto de referencia antes y después de la ejecución de sus consultas para determinar el impacto de dejar caer el índice.
7
  1. Here is a good article que va más busca y escaneos (e índices en general). Será probablemente haga un mejor trabajo que cualquier publicación SO .
  2. Puede ser un poco de una forma de arte determinar si necesita un índice o no. Si esos 88 busca , tome las consultas de informes absolutamente esenciales desde un tiempo de ejecución de 3 horas hasta 30 segundos y luego guárdelas. Creo que el primer paso sería averiguar qué consultas los están usando, cuánto ayudan los índices a esas consultas y qué tan importantes son esas consultas.

snipit del artículo (sin duda le dan una lectura sin embargo):

exploraciones

Un recorrido de índice es una lectura completa de todas las páginas hoja del índice. Cuando se realiza un escaneo de índice en el índice agrupado, se trata de un escaneo de tabla en todo menos en el nombre.

Cuando el procesador de consultas realiza un escaneo de índice, siempre es una lectura completa de todas las páginas de hoja del índice, independientemente de si se devuelven todas las filas. Nunca es un escaneo parcial.

Un escaneo no solo implica la lectura de los niveles de hoja del índice, las páginas de más alto nivel también se leen como parte del escaneo de índice.

Busca la

Una búsqueda de índice es una operación en SQL utiliza la estructura de árbol B de localizar ya sea un valor específico o el comienzo de una gama de valor. Para que un índice intente ser posible, debe haber un predicado SARGable3 especificado en la consulta y un índice correspondiente (o parcialmente coincidente). Un índice coincidente es uno en el que el predicado de consulta utilizó un subconjunto basado en la izquierda de las columnas de índice. Esto se examinará con mucho más detalle en la parte 3 de esta serie.

La operación de búsqueda se evalúa comenzando por la página raíz. Usando las filas en la página raíz, el procesador de consultas ubicará qué página en el siguiente nivel inferior del índice contiene la primera fila que se está buscando. Luego leerá esa página. Si ese es el nivel de la hoja del índice, la búsqueda termina allí. Si no es la hoja, el procesador de consultas identifica nuevamente qué página del siguiente nivel inferior contiene el valor especificado. Este proceso continúa hasta que se alcanza el nivel de la hoja.

Una vez que el procesador de consultas ha localizado la hoja que contiene el valor de clave especificado o el comienzo del rango especificado de valores clave, lee a lo largo de las páginas hasta que se devuelven todas las filas que coinciden con el predicado.

Cuestiones relacionadas