INF: Explicación de la columna Cache en Sysobjects y otros comandos relacionados

Seleccione idioma Seleccione idioma
Id. de artículo: 171387 - Ver los productos a los que se aplica este artículo
Este artículo se publicó anteriormente con el número E171387
Este artículo se ha archivado. Se ofrece "tal cual" y no se volverá a actualizar.
Expandir todo | Contraer todo

Resumen

A partir del Service Pack 3 de SQL Server 6.5, la columna cache de la tabla del sistema sysobjects puede utilizarse para controlar indirectamente la proporción de aciertos de caché para cada tabla. Se trata de una técnica avanzada de configuración y no significa que se consiga necesariamente un buen rendimiento. Se recomienda encarecidamente no ajustar sysobjetcs.cache excepto en situaciones muy controladas en las que se realice una serie metódica de pruebas para evaluar exhaustivamente los efectos de dicha operación. Además, es preciso comprender perfectamente la localidad de referencia actual y prevista para una tabla dada antes de utilizar esta técnica.

Más información

En algunas circunstancias, al especificar un valor distinto de cero para sysobjects.cache puede mejorar el rendimiento de caché de las tablas a las que se tiene acceso de manera no uniforme. Si se especifica un valor distinto de cero para esta tabla, cualquier página a la que se haga referencia varias veces pasará una vez más por la cadena almacenada en caché de utilizados menos recientemente (LRU) y el número de referencia cambiará a cero.

Esto es similar al efecto que produce el indicador de traza 1081, excepto que éste se aplica a las páginas de índice de todas las tablas y el umbral de número de referencia es uno (es decir, una única referencia es suficiente para que se haga un paso adicional), mientras que el favorecer el número de referencias se aplica a todas las páginas de las tablas especificadas. Si se especifica un umbral de número de referencias para una tabla, esto anulará el efecto de -T1081, excepto para la página de índice raíz. Se debe hacer referencia a todas las demás páginas de índice de dicha tabla el número especificado de veces para que tengan un paso adicional por la caché.

Si el valor de sysobjects.cache es demasiado bajo para una tabla, se hará un paso adicional para demasiadas páginas y no se percibirá ninguna ventaja. Esto mismo es cierto si se hace referencia a todas las páginas de una tabla aproximadamente el mismo número de veces en un intervalo. Por otra parte, si se hace referencia a menos de la mitad de las páginas con mucha más frecuencia que a otras, establecer el umbral correctamente puede mejorar la proporción de aciertos de caché general. La instrucción "DBCC SQLPERF(tabstats,<idbd>)" muestra el número de referencias promedio ("número de aciertos ") y el número de páginas que tendrán un segundo paso por la caché ("páginas favorecidas") para cada tabla. Establezca el umbral de número de referencias ligeramente por encima del número de referencias promedio y observe el efecto de dicho cambio sobre el número de páginas 'favorecidas' frente al número total de páginas de dicha tabla en la caché, así como la proporción de aciertos de caché por tabla (también mostrada por tabstats). Los cambios realizados al umbral de número de referencias no surten efecto inmediatamente; debe cerrar y reiniciar SQL Server. Cambie el umbral de número de referencias; para ello, establezca la opción sp_configure de "allow updates to system tables" y utilice la instrucción UPDATE de SQL Server (debe ejecutar la instrucción UPDATE en la base de datos en la que reside la tabla). Por ejemplo, utilice el siguiente comando:
 
update sysobjects set cache=6 where id=object_id('customer')

El algoritmo de caché de SQL Server 6.5 puede considerarse un derivado del algoritmo 'clock', en el que la frecuencia con que se mueven las agujas del reloj es igual a la proporción con que el procesador de escritura lenta genera los búferes libres y la distancia entre las agujas del reloj es el tamaño de la caché. Si se hace referencia a una página al menos el mismo número de veces que el umbral especificado entre el tiempo marcado por las dos agujas, permanecerá en la caché para siempre. Es posible determinar ese tiempo si divide el número de páginas de la cadena LRU entre el número de escrituras lentas menos las eliminaciones limpias por segundo. La instrucción "DBCC SQLPERF(lrustats2)" proporciona estos tres valores.

Propiedades

Id. de artículo: 171387 - Última revisión: jueves, 23 de enero de 2014 - Versión: 3.1
La información de este artículo se refiere a:
  • Microsoft SQL Server 7.0 Standard Edition
  • Microsoft SQL Server 6.5 Service Pack 3
  • Microsoft SQL Server 2000 Standard Edition
Palabras clave: 
kbnosurvey kbarchive kbinfo kbusage KB171387

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com