MySQL can support large databases, but as the size of the data grows, the performance of your database can start to suffer. As a database administrator, there are a few things that you can do to improve the performance of your databases. The first place to start is with your hardware.
As MySQL uses many internal 64-bit integers, performance will significantly improve with the use of 64-bit processors. Even with the best processors, ensure you have sufficient RAM to give the best performance. This will help by allowing MySQL to store most of the used key pages in RAM. For quick performance gains, look at improving your RAM, and then have faster disks and CPU processing power.
If possible, use RAID 0+1 for your disks and use different physical disks for your data, transaction logs and operating system. If you have a number of large databases then split them onto separate volumes. This will give the best possible performance from your hardware.
Once your hardware is running at its most efficient, then you need to think about optimizing your code. By making some adjustments to your code you will be able to improve the speed of your application. Some great suggestions to improve the performance are:
- Use Persistent Connections
- Cache results in the application
- Limit your queries only to the required data and try to avoid using SELECT * FROM table queries
- Benchmark your application regularly and thoroughly
- Perform multiple changes at the same time and use LOCK TABLES when you do many changes at the same time.