Tengo una aplicación de comercio electrónico que usa MySQL, y me gustaría que fuera más rápido. Cuando se accede a una parte # en el sitio web al que se ha accedido antes, la pieza se carga rápidamente porque todos los datos necesarios ya están en el grupo de búferes INNODB. Sin embargo, si la parte # nunca se ha cargado antes, esos datos aún no están en la agrupación de almacenamiento intermedio, por lo que es necesario leerlos desde el disco, y eso es lento. Configuré el grupo de búferes de INNODB en 2 GB, y esta base de datos completa solo tiene unos 350 MB, por lo que hay mucho espacio para cargar toda la base de datos en el grupo de búferes. Puedo ver en las estadísticas de INNODB que solo se usa aproximadamente la mitad del grupo de búferes en este momento.¿Cómo precargar tablas en el grupo de búferes INNODB con MySQL?
He encontrado referencias para precargar los datos, también conocido como "calentar" el grupo de búferes, como Quickly preloading Innodb tables in the buffer pool o mysqldump.azundris.com/archives/70-Innodb-cache-preloading-using-blackhole .html. La estrategia básicamente implica forzar un escaneo de tabla en cada tabla, ya que MySQL no tiene una forma nativa de precargar los datos.
No quiero crear manualmente una secuencia de comandos que enumera todas las tablas en mi base de datos y tengo que hacer esto. ¿Cómo puedo crear una secuencia de comandos que atraviesa y hacer una selección para cada tabla de forma automática, y selecciona automáticamente una columna no indexada para que se realice una exploración de tabla?
este algoritmo es simplemente conciso y brillante. Esto almacenará en caché los datos innodb. No estoy seguro de si este caché incluirá todas las páginas de índice, pero su algoritmo se puede aplicar rápidamente para hacerlo. Creo que MyISAM solo almacena en caché páginas de índice MYI. Nuevamente, su algoritmo forma la base para pasar tablas e índices. Bravo (y +1) !!!! – RolandoMySQLDBA
El mío es la única implementación para obtener una lista de consultas. La idea proviene del Blog de rendimiento de Mysql vinculado en la Pregunta. – Mchl