I have a voting application. This voting process takes about 3 hours to complete. After 3 hours there will be 2 millions of records in the database. At the same time application needs to query the current data. The number of votes when close to 1 million, application takes about 15min to query the current data.
I'm using MySql under Linux. There are 7 columns in the main table and there are different kind of queries to show the data and generate reports. It works well up to 1 million of records. Now I create reports every 5 minutes and, when request a report from GUI, just dump the latest report.
So what kind of a database I should use or solution for this?