Eu recomendo que você inicie o particionamento sua tabela por ID ou data. O particionamento divide uma tabela grande em várias tabelas menores de acordo com alguma lógica definida (como dividi-la por intervalos de datas), o que as torna muito mais gerenciáveis em termos de desempenho e memória. O MySQL 5.1 tem esse recurso embutido, ou você pode implementá-lo usando soluções personalizadas.
Ao implementar o armazenamento em um arquivo simples, você perde todas as vantagens de um banco de dados - não é mais possível realizar consultas envolvendo os dados.