Jag skulle rekommendera att du börjar partitionering ditt bord efter ID eller datum. Partitionering delar upp en stor tabell i flera mindre tabeller enligt någon definierad logik (som att dela upp den efter datumintervall), vilket gör dem mycket mer hanterbara prestanda och minnesmässigt. MySQL 5.1 har den här funktionen inbyggd, eller så kan du implementera den med hjälp av anpassade lösningar.
När du implementerar lagring i en platt fil förlorar du alla fördelar med en databas - du kan inte längre utföra frågor som involverar data.