Textual description of firstImageUrl

Quieres optimizar tus indices en SQL Server?. Observa estos trucos

Lo primero que debes hacer es entender la distribución de datos de tus tablas

El optimizador de consultas de SQL Server selecciona índices basados en el análisis estadístico de los datos que recupera. Una consulta funciona diferente si hay mil filas a cuando hay un millón de filas. un recorrido completo de tabla puede ser aceptable para tablas pequeñas, pero no para grandes tablas.

Para identificar problemas de eficiencia y optimizar los índices se requiere tener conocimiento del tamaño de las tablas.
SQL Server Profiler

Veamos este marco de referencia para lograr optimizar los índices de tabla:
  • Capturar datos con el SQL Profiler
  • Usar el Asistente de Optimización de Indices para seleccionar los índices a reconstruir
  • Usar el Analizador SQL para optimizar consultas e índices.
  • Defragmentar los índices

 I. Usar el SQL Profiler

 1. Elegir los eventos a monitorear

Cuando se monitorea un evento se genera sobrecarga así que se debe minimizar el número de eventos a monitorear. Al usar las plantillas predefinidas del SQL Optimizer, que provee un número de rastreos predefinidos, por ejemplo, SQLProfilerSP_Count identifica los Procedimientos almacenados más utilizados.

2. Correr el SQL Profiler desde un computador remoto

SQL Profiler es un gran consumidor de recursos, de manera que se debe evitar correrlo en el mismo computador donde se encuentra la base de datos SQL Server.

3. Identificar Queries de larga duración que se ejecutan con frecuencia

Analice los resultados del informe del perfilador para entender la frecuencia de ejecución de los queries y su duración. Se atacan primero aquellos queries de larga duración que se ejecutan con frecuencia. Los SELECT que se ejecutan con pobre desempeño pueden necesitar que se les agreguen índices mientras que las sentencias que hacen actualizaciones con frecuencia pueden requerir que se eliminen algunos índices innecesarios.

loading...

 

II. Usar el Asistente de Optimización de índices para seleccionar los correctos y reconstruirlos.

 Utilizar el asistente de optimización de índices para identificar índices y vistas indexadas que necesitan ser creadas, e índices que necesitan ser eliminados.

1. Generar una carga de trabajo

Para que el asistente de optimización de índices recomiende índices y vistas indexadas se le debe proporcionar una carga de trabajo. Las siguientes son recomendaciones de maneras de generar un trabajo

2. Use los resultados del Perfilador como carga de trabajo.

Para sistemas existentes y sistemas en desarrollo, SQL Profiler puede usarse para proporcionar información de base para el optimizador de indices. Ejecute la aplicación, capture los queries en una traza del perfilador, y use todos los eventos y columnas que servirán como carga de trabajo.

3. Use SQL Query Analyzer para alimentar la carga de trabajo

Si no se ha desarrollado el sistema y no puede usar el SQL profiler, se pueden correr los queries desde SQL Query Analyzer e iniciar el Index tuning wizard desde ahí.

4. Limite el tamaño de la carga de trabajo

El asistente de Index tuning puede manejar hasta 32.000 queries. Por esto se debe establecer un filtro que limite la cantidad de datos capturados. Por ejemplo, se pueden filtrar los queries con duración cercana a 0 segundos, o también, filtrar los queries enviados a ciertas bases de datos.

5. Ejecutar desde una máquina remota

Para limitar la carga de trabajo sobre el servidor se debe ejecutar el asistente de optimización de indices des de un computador remoto.

6. Actualice las estadísticas de la base de datos antes de correr el Asistente

Las recomendaciones del asistente serán mejores si las estadísticas de la base de datos están actualizadas. Si se tiene una base de datos existente que no sea muy grande, se puede hacer una copia de la base de datos actualizar las estadísticas y correr el asistente sobre ella.

7. Use escalado de tablas en una base de datos de no producción

Si se ejecuta el Asistente de Optimización de indices en una base de datos de no producción y se conoce que la base de datos de producción tiene un numero diferente de filas y no se le puede sacar copia, se puede pasar esta información al Asistente. En el dialogo Seleccionar Tablas para optimizar se puede especificar el numero de filas en el servidor de producción en la columna Filas Proyectadas.

8. Analizar Recomendaciones usando SQL Query Analyzer

El Asistente de optimización muestra los queries que serán de mayor beneficio para las sugerencias de índices. Analice estos queries con y sin el Analizador de Queries. Evalúe los siguientes puntos de su índice.
  • Se ha disminuido el costo de ejecución para la operación especificada?
  • SE disminuido la utilización total de CPU, duración del query y numero de operaciones de lectura y escritura?

Se puede monitorear el plan de ejecución y la traza del Analizador mismo seleccionado la opción Ver para estos modos en el menú Query. Si se utiliza una aplicación existente no pruebe la evaluación en la base de datos de producción. Utilice una base de desarrollo en su lugar.

9. Aplique las recomendaciones validadas en producción

Se puede usar ahora el Asistente de Optimización de Índices para generar los scripts SQL para implementar cualquiera de los cambios recomendados. Estos scripts pueden ejecutarse en producción para implementar los cambios necesarios.

No hay comentarios.:

Publicar un comentario