Je vous recommande de commencer le le partitionnement votre table par ID ou par date. Le partitionnement divise une grande table en plusieurs tables plus petites selon une logique définie (comme la diviser par plages de dates), ce qui les rend beaucoup plus gérables en termes de performances et de mémoire. MySQL 5.1 intègre cette fonctionnalité ou vous pouvez l'implémenter à l'aide de solutions personnalisées.
En mettant en œuvre le stockage dans un fichier plat, vous perdez tous les avantages d'une base de données - vous ne pouvez plus effectuer de requêtes impliquant les données.