Si se tienen más de 15 Millones de registros en la tabla principal de datos, y no se tiene bien configurada, podemos tener problemas.
Se debería tener una base de datos secundaria para guardar la información con las de 30 días o algo así, y borrar la información de la principal con más de 31 días.
La solución mas “rápida” a este problema es hacer una reconstrucción de la base de datos (BBDD) y aplicar algunos retoques o tweaks de configuración en la BBDD.
- Hacer un dump de la BD completa con mysqldump (datos y estructura).
- Detener todo.
- Borrar la BBDD y detener MySQL.
- Modificar los siguientes parámetros del fichero
my.cnf
:
innodb_flush_log_at_trx_commit = 0 key_buffer = 400M innodb_file_per_table
- Arrancar el MySQL.
- Entrar en la consola MySQL:
create database pandora; use pandora; import
De esta manera, habréis reconstruido la BD usando un fichero de datos para cada tabla, optimizando el acceso y activando el caché de escritura, todo eso optimiza bastante el acceso a disco.
Es muy importante que recordéis purgar la BBDD y modificar los límites de borrado para que la BBDD principal contenga datos del último mes o menos.