SQL Server Performance

URGENTE!! - Consulta al ejecutar un Storprocedure

Discussion in 'Preguntas sobre SQL Server en Español.' started by katty_ali, Jul 10, 2006.

  1. katty_ali New Member

    Hola, tengo una curiosidad

    Tengo un procedimiento almacenado que se ejecuta, Aproximadamente tiene una demora de 18 segundos en una terminal,

    El problema que siento es que

    1. Si el mismo procedimiento lo ejecuto en 3 maquinas me demora en cada maquina, aproximadamente 50 segundos en cada maquina.

    2. cuando veo en la Administracion de Procesos del Servidor utiliza el 100% del CPU y no baja el porcentaje.

    Como puedo reducir los tiempos de la consulta cuando varias personas ejecutan a la vez el mismo procedimiento?????

    Espero que alguien me pueda ayudar pronta ya que estoy en una Auditoria de procedimientos.. :'(

  2. Luis Martin Moderator

    Lo que te sugiero es que trates de optimizar la store procedure.
    Fijarse en el plan de ejecución y analizar si es necesario agregar algún índice.

    Por otro lado deberías verificar si, en el acceso a la tablas con los select, se puede agregar NOLOCK (siempre y cuando sea posible) para evitar loqueos cuando se están ejecutando.



    Luis Martin
    Moderator
    SQL-Server-Performance.com

    All in Love is Fair
    Stevie Wonder


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



  3. katty_ali New Member

    Gracias por tu respuesta,

    mira los Stor ya se encuentran optimizados es un reporte cargado ya que da resultados financieros de todo el año y las tablas tienen los indices correctamente, no se si estare en lo correcto pero el NOLOCK es para bloquear y yo necesito q los usuarios puedan consultar a la vez;

    Si ya esta optimizado , cuando un procedimiento lo ejecutan varios usuarios a la vez (sea el mismo u otro) siempre va a tender a ampliar el tiempo de consulta?, hay alguna manera de configurar esto?, o q me aconsejas??? ó me resigno!! :' :'( :'(


    Gracias de antemano por tu respuesta!!!
  4. Luis Martin Moderator

    El NOLOCK es justamente para no bloquear la tabla cuando se accede a ella. El tema es que si en necesario bloquear a no. Para eso lo debes consultar a los desarrolladores.

    Por otro lado siempre que una sp se ejecuta simultaneamente el tiempo es mayor.

    Ahora, lo que tu dices sobre que está optimizada, lo has verificado?.
    Habitualmente (esto entre tu y yo) los desarrolladores siempre dice que su código está optimizado. Es función del DBA verificar esto con las herramientas que SQL provee, como el profiler.





    Luis Martin
    Moderator
    SQL-Server-Performance.com

    All in Love is Fair
    Stevie Wonder


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



Share This Page