El mundo de las bases de datos es maravilloso, de hecho el uso de motores libres lo es aún mejor, estando al interior de SUN he tenido la oportunidad de conocer más de cerca MySQL y notar que no es como dijo algún docente «Mysql es para estudiantes», o bueno, los estudiantes de Google, Yahoo y la Wikipedia les ha servido, lástima que no sean empresas grandes…
Bueno, el chiste de hoy se relaciona con una situación a la cual me enfrenté en la tarde del día de hoy:
Un servidor con 15gb de disco, 256 de ram, Debian Woody y una base de datos con 6 millones de registros, equivalente a 1.2 gb en Mysql.
Misión: Dividirla por años para hacer las consultas más veloces y ágiles.
Intentos:
- Exportar desde phpmyadmin,falló dado que eran lotes de registros muy grandes
- Exportar con mysqldump, falló dado que no se puede o no encontré como exportar un query…
- Exportar por medio del uso de OUTPUT INTO FILE, intentando crear un fichero CSV pero nada, aparte eran lotes de 555,000 a 1.000.000 de registros y las hojas de cálculo llegan hasta 65xxx.
Solución:
- Subir la memoria disponible para scripts en PHP de 128MB a 1GB (Macabro :P), luego hacer selects por lotes de 6 meses o menos, sin que me superaran el millon de registros y luego si fusionar cada tabla. Esto me tomo 4 horas, pero fue entretenido.
No siendo más me despido y pronto nos veremos hablando temás más técnicos de Mysql 😛