MySQL is not a flat file, it is a relational database. It is good at things that relational databases do well, such as retrieving related rows from multiple tables at once. Flat files are not relational databases. They are good at things such as writing data sequentially to the end of a table or retrieving data with ad-hoc structure. Don't use flat files when you need a relational database; you'll spend endless time implementing things that you can have for free by using the right data manager. Similarly, avoid making your relational database stand in for a simple flat file unless you will need relational capabilities on the data stored in the file later.