none
Uso SQL Profiler y DB Engine Tuning Advisor. RRS feed

  • Pregunta

  • Buen día, 

    Algunos usuarios han manifestado demoras en procesos que corren desde el cliente de aplicación y que antes tardaban apenas segundos. Por lo anterior decidí usar el SQL profiler para luego usar el DBE Tuning advisor y mirar que me sugería.

    Para poder tener independencia de la BD he restaurado una copia de mi BD PRD en un ambiente de pruebas, pedí al usuario realizar el mismo proceso y capturé la traza. Luego realicé el análisis desde el DBE Tunign Advisor, este me sugiere crear bastantes  estadísticas y alrededor de 15 indices NONCLUSTERED . En vista que la recomendación tiene bastantes items a aplicar, he decidido consultar con ustedes antes de llevarla a PRD, tengo las siguientes dudas. Mi BD esta sobre un SQL Server 2008 R2 SP3.

    1- Sería correcto aplicar también las estadísticas en la BD PRD, o estas se calculan de forma única en cada BD?.

    2- Lo recomendable seria correr en PRD el  análisis del fichero de traza que capture en pruebas ??, o podría crear directamente los indices y estadísticas con el script generado?.

    3- Alguna precaución o riesgo de aplicar todas las recomendaciones del DBE Tuning Advisor??.

    De antemanos mil gracias por su ayuda, pues me ha ayudado bastante en mi aprendizaje.


    Fabian Yepes

    miércoles, 27 de diciembre de 2017 14:34

Respuestas

  • Buena tarde, 

    Actualmente se corre semanalmente una reorganización de indices, luego actualización de estadísticas en el mismo plan de mantenimiento.

    La autocreación y actualización de estadísticas  esta seteada en TRUE.

    Lo que yo quería averiguar con el Tuning Advisor, es que indices pueden estar haciendo falta para agilizar un poco el proceso que se lanza desde la aplicación.

    Quedo atento, mil gracias.


    Fabian Yepes

    miércoles, 27 de diciembre de 2017 18:44
  • Hola, 

    Con el profiler y tuning he podido encontrar que tablas son las que usa la aplicación en el proceso que ha tornado lento, púes antes desconocía cuales eran.

    He revisado y hay una tabla que es la mas grande MOVICONT tiene 1257613  filas y 100  campos, otra llamada ASUNTOS con 122436 filas y 190 campos. Las demás tienen unos miles de registros.

    Las recomendaciones que generó el tuning advisor las he cargado en la siguiente url

    https://1drv.ms/f/s!Ak8o_u84AE6Iv1HFSlhUPMtJzI_c

    Gracias.


    Fabian Yepes

    miércoles, 27 de diciembre de 2017 19:36
  • Fuera del hecho de porque tantas columnas.... eso no parece estar bien diseñado.

    Deja veo, saca un backup primero que nada, crea solo las estadisticas y prueba... parece que esto salio de una migracion de un db2 a SQL porque no parece estar normalizado. 

    miércoles, 27 de diciembre de 2017 19:42

Todas las respuestas

  • Saludos,

    El Tunning advisor luego duplica muchos indices en cuanto a su covertura cambiando un poco los include, lo primero que te diria que es corras una actualizacion de indices y estadisticas en tu servidor de produccion (tambien si nos puedes detallar que tan seguido haces este mantenimiento ayudaria), sino lo corres aqui puede ser el problema. Normalmente una table no deberia de pasar de 5 o 8 indices a lo mucho (normalmente no quiere decir que no sea bueno talvez tener 15 si asi lo demanda la logica de las consultas).

    Las estadisticas se deberian de crear solas de acuerdo a la cargas de trabajo si tienes el auto crear estadisticas a nivel de la base de datos.


    • Propuesto como respuesta Pablo RubioModerator miércoles, 27 de diciembre de 2017 15:17
    • Editado Enrique AA miércoles, 27 de diciembre de 2017 15:23
    miércoles, 27 de diciembre de 2017 14:54
  • Buena tarde, 

    Actualmente se corre semanalmente una reorganización de indices, luego actualización de estadísticas en el mismo plan de mantenimiento.

    La autocreación y actualización de estadísticas  esta seteada en TRUE.

    Lo que yo quería averiguar con el Tuning Advisor, es que indices pueden estar haciendo falta para agilizar un poco el proceso que se lanza desde la aplicación.

    Quedo atento, mil gracias.


    Fabian Yepes

    miércoles, 27 de diciembre de 2017 18:44
  • Cuantos rows tiene tu tabla? y cuantas columnas de paso.

    El plan es interno de SQL o usas alguna solucion? podrias mostrarnos las recomendaciones de indices que tienes? 

    miércoles, 27 de diciembre de 2017 18:45
  • Hola, 

    Con el profiler y tuning he podido encontrar que tablas son las que usa la aplicación en el proceso que ha tornado lento, púes antes desconocía cuales eran.

    He revisado y hay una tabla que es la mas grande MOVICONT tiene 1257613  filas y 100  campos, otra llamada ASUNTOS con 122436 filas y 190 campos. Las demás tienen unos miles de registros.

    Las recomendaciones que generó el tuning advisor las he cargado en la siguiente url

    https://1drv.ms/f/s!Ak8o_u84AE6Iv1HFSlhUPMtJzI_c

    Gracias.


    Fabian Yepes

    miércoles, 27 de diciembre de 2017 19:36
  • Fuera del hecho de porque tantas columnas.... eso no parece estar bien diseñado.

    Deja veo, saca un backup primero que nada, crea solo las estadisticas y prueba... parece que esto salio de una migracion de un db2 a SQL porque no parece estar normalizado. 

    miércoles, 27 de diciembre de 2017 19:42