Como desarrollador y administrador de bases de datos que a menudo tiene una tecnología preferida, pero si estamos dirigiendo una organización grande, tenemos que acomodarnos más a todas las tecnologías. Uno de mis grandes clientes bancarios utiliza múltiples bases de datos para realizar varias transacciones diferentes. También están utilizando muchas soluciones de almacenamiento en caché diferentes para su negocio, así como hardware de primera línea. Tuve una conversación muy interesante con mi cliente sobre el tema de cómo recuperar consultas, no desde el caché para MySQL y SQL Server, discutimos SQL_NO_CACHE y OPTION (RECOMPILE). Hablamos durante la comprobación completa del estado del rendimiento de la base de datos .
Veamos dos ejemplos diferentes hoy para MySQL y SQL Server. Ambas bases de datos relacionales aprovechan la memoria caché para devolvernos los datos. Veamos cómo podemos escribir una consulta en la que no usaremos los resultados almacenados en caché sino que obtendremos nuestros datos directamente del disco de SQL Server y no del caché.
Consulta de SQL Server – OPCIÓN (RECOMPILAR)
SELECT Columnname FROM TableName OPTION(RECOMPILE)
Consulta MySQL SQL_NO_CACHE
SELECT SQL_NO_CACHE Columnname FROM TableName OPTION(RECOMPILE)
Cuando usa SQL_NO_CACHE y OPTION (RECOMPILE), las bases de datos relacionales (MySQL y SQL Server respectivamente) están recuperando directamente los datos del disco en lugar de lo que está almacenado en el caché.
Aquí hay algunas publicaciones de blog relevantes sobre el mismo tema, que pueden resultarle interesantes.
- SERVIDOR SQL:plan de consulta de lista, tamaño de caché, texto y número de ejecuciones
- SERVIDOR SQL:encontrar el plan de consulta más antiguo de la memoria caché
- SQL SERVER:caché de planes y caché de datos en la memoria
- SERVIDOR SQL - Procedimiento almacenado - Limpiar caché y limpiar búfer
- SERVIDOR SQL:eliminar todos los planes almacenados en caché de consultas que no se usaron en un período determinado
- SERVIDOR SQL:secuencia de comandos para obtener un plan compilado con parámetros de caché
- SERVIDOR SQL - Planificar caché - Recuperar y eliminar - Un script simple
- SQL SERVER – 2017 – Script para borrar el caché de procedimientos en el nivel de la base de datos