Te recomiendo que empieces a particionamiento su mesa por ID o fecha. La partición divide una tabla grande en varias tablas más pequeñas de acuerdo con una lógica definida (como dividirla por rangos de fechas), lo que las hace mucho más manejables en cuanto a rendimiento y memoria. MySQL 5.1 tiene esta característica integrada, o puede implementarla usando soluciones personalizadas.
Al implementar el almacenamiento en un archivo plano, pierde todas las ventajas de una base de datos:ya no puede realizar consultas relacionadas con los datos.