SQL Server Performance

Performance en sp

Discussion in 'Preguntas sobre SQL Server en Español.' started by emadrigal, Aug 27, 2004.

  1. emadrigal New Member

    Hola amigos del forum.
    Mi problema es el siguiente. Tengo un sp el cual al ejecutarse a veces tarda 3 min, otras 2:30seg y algunas otras 1:50seg.
    ¿Qué es lo que pasa, porqué hay tanta variación en el tiempo de ejecución?. ´
    Como es un ambiente de desarrollo, solo estoy yo conectado en la BD, kuego entonces el tiempo de ejecución no puede verse afectado por algún otro usuario que estuviese realizando algún proceso.

    De cualquier manera quiero saber si hay alguna forma de mejorar el performance de las consultas en la BD haciendo un Tunning o algún proceso de mantenimiento a la Base de Datos (limpiar los log de transacciones o álgo así).

    Gracias por su valiosa ayuda.

    Enrique Madrigal
  2. Luis Martin Moderator

    Suponiendo que la diferencia entre 3 minutos y 1,5 segundos no se deba a momentos de alta utilización del SQL o de locks, la sugerencia sería reindexar todas las tablas que esten involucradas en la sp. Esto es razonable realizarlo 1 o 2 veces por semana.
    También, todos los días, sería importante actualizar las estadísticas de las mismas tablas.




    Luis Martin
    Moderator
    SQL-Server-Performance.com

    All postings are provided “AS IS” with no warranties for accuracy.

  3. emadrigal New Member

    Luis, Muchas gracias. Sólo que soy novato en esto de SQL Server. Por lo que necesito un poco más de información.
    ¿Cómo reindexo las tablas?.
    Si esto es conveniente hacerlo 1 o 2 veces por semana. ¿Puedo hacer que éste proceso se ejecute solo como un proceso agendado cada determinado tiempo?
    ¿Cómo actualizo las estadísticas de las tablas?
    Gracias nuevamente por tu ayuda.


    Enrique Madrigal
  4. Luis Martin Moderator

    Enrique:

    El siguiente es un artículo que explica lo que necesitas.
    Por favor si tienes alguna duda, consúltame y con mucho gusto te daré los detalles.

    http://www.sql-server-performance.com/lm_index_reorg.asp

    Saludos,


    Luis Martin
    Moderator
    SQL-Server-Performance.com

    All postings are provided “AS IS” with no warranties for accuracy.

  5. c_maldon Member

    Sql Server guarda los datos en un buffer de memoria despues de una consulta, si ejecutas un procedimiento varias veces los tiempos se verán afectados dependiendo de si existen o no los datos en el buffer.
    Te recomiendo, si estás solo en el ambiente de desarrollo, limpiar el baffer antes de medir el tiempo para no estar influenciado por el cache. Utiliza:
    DBCC DROPCLEANBUFFERS para limpiar el buffer antes de ejecutar el procedure.

Share This Page