none
¿Como determina sp_updatestatics cuando se actualiza una Estadistica? RRS feed

  • Pregunta

  • Hola,

    Estoy haciendo un script de mantenimiento de índices automático para que me recorra todas las bases de datos, y dependiendo del nivel de fragmentación (siendo entre un 5 y un 30% hacer reorganice y más de un 30% un rebuild) haga una cosa u otra. Bueno, al final de mi script tengo la llamada EXEC sp_updateStats, para que actualice las estadísticas de los índices.

    Mi duda está en cuanto es el lapso de tiempo que ha de pasar por defecto desde la última actualizacion de la estadística para que esta se actualice. ¿Hay algún parámetro que me diga esto?, Por que realmente no se si es mejor hacerlo de otra forma, teniendo entendido que actualización de estadísticas hace que las Sentencias SQL se vuelvan a tener que compilar.

    Un saludo a todos

    lunes, 8 de mayo de 2017 10:15

Respuestas

  • DAle un vistazo a este artículo, te aclarará bastante las ideas.

    https://www.pythian.com/blog/sql-server-statistics-maintenance-and-best-practices/

    El problema no es tanto de lapso de tiempo sino de cantidad de modificaciones significativas en tus tablas, para tablas pequeñas, da un poco igual, para tablas grandes la frecuencia en la que se auto actualizan las estadísticas puede ser insuficiente.  Ten en cuenta  también que para aquellos campos que re-indexas, automáticamente se regeneran sus estadísticas, por lo que las dos operaciones serían "redundantes"

    https://docs.microsoft.com/en-us/sql/relational-databases/statistics/statistics

    "Operations such as rebuilding, defragmenting, or reorganizing an index do not change the distribution of data. Therefore, you do not need to update statistics after performing ALTER INDEX REBUILD, DBCC REINDEX, DBCC INDEXDEFRAG, or ALTER INDEX REORGANIZE operations. The query optimizer updates statistics when you rebuild an index on a table or view with ALTER INDEX REBUILD or DBCC DBREINDEX, however; this statistics update is a byproduct of re-creating the index. The query optimizer does not update statistics after DBCC INDEXDEFRAG or ALTER INDEX REORGANIZE operations"


    Comparte lo que sepas, aprende lo que no sepas (FGG)
    portalSQL
    El rincón del DBA

    lunes, 8 de mayo de 2017 12:32
    Moderador

Todas las respuestas