Problemas con I/O

Category: General 10 years ago
Hola como estan?, ojala alguien pueda ayudarme con esto, tengo un store procedure que al ver el plan de ejecución, me muestra I/O sobre 7.000 en una consulta, sin embargo al ejecutar esta consulta fuera del SP tengo unas I/O inferiores a 300, alguiens tiene idea de que pueda estar ocurriendo?, en ocaciones me ha pasado esto con consultas que estan despues de una estructura de validación "if exists(select... from...where)", cuando he encontrado esta forma de validar, las I/O de la consulta subsiguiente se disparan, pero en la situación actual no es el caso.

alguna idea??

saludos
Like it on Facebook, +1 on Google, Tweet it or share this topic on other bookmarking websites.
  • Re: Problemas con I/O

    by » 10 years ago


    Que pasa si recompilas el store procedure para que tome las estadísticas actuales de tu tabla?
    O actualiza directamente las estadísticas de las tablas invcolucradas.

  • Re: Problemas con I/O

    by » 10 years ago


    no parece tener efecto la recompilación del SP ni la actualización de las estadisticas de las tablas, sigue dando altas I/O, como mencione anteriormente lo que me parece curioso es que de distintas mediciones al ejecutarla fuera del SP, ahora, la consulta hace un join con 5 tablas , una de ellas es temporal, al ir sacando tablas las I/O naturalmente comienzan a disminuir, pero no deja de ser extraño este comportamiento, al menos para mi.

  • Re: Problemas con I/O

    by » 10 years ago


    Bueno, es normal que no se comporte igual un query dentro de un procedure que fuera de él, cuando manejas parametros de entrada. Esto porque cuando compilas un procedure en el cual tienes por ejemplo este query:

    select c1 from t1 where c1=&1

    Al compilarlo, no se sabe en realidad que valor vas a colocar dentro de tu query, al contrario de que si lo ejecutas directamente colocando el valor de c1. En este caso la compilación de la sentencia va a tener un mejor plan de ejecución. Lo que puedes hacer en estos casos es forzar un índice para que mejore tu plan de ejecución.

  • Re: Problemas con I/O

    by » 10 years ago


    coincido plenamente con ese razonamiento, sin embargo en el caso que menciono, el optimizador utiliza los mismos indices tanto al ejacutar la consulta dentro del SP como fuera de este. Me ha pasado que con la utilización de variables dentro de un SP , el optimizador no utiliza los indices adecuados, pero este caso es aparentemente muy distinto.

    La verdad es que no se me ocurre que mas hacer, desde el punto de vista de optimización :S

  • Re: Problemas con I/O

    by » 10 years ago


    Podrías mostrar tu procedure para ver el código? y tus planes de ejecución. Posiblemente sean los mismos índices usados pero el plan de ejecución generado sea distinto.

You do not have permissions to reply to this topic.
Powered by CjForum