How large and busy can a MySQL database be?

For MySQL databases, our normal restrictions on disk space and server resource limits apply, including memory usage, CPU usage, and disk writes. In other words, the server resource usage of any MySQL queries you perform is counted toward your resource limits, just like the usage of the script itself.

In addition, a practical size limit on MySQL databases with shared hosting is:

  • Each individual table should not exceed 1 GB in size or 10 million rows;
  • The total size of all the tables in a database should not exceed 2 GB.

These limits are fairly high. Less than 0.05% of our customers ever create databases this large.

While we don’t automatically enforce these limits to prevent you from exceeding them, you may have problems if you do so. As one example, your site may not function properly during MySQL backups of such large tables. These limits are inherent in shared database hosting; the only solution is to reduce the amount of data you store or spread it among different databases or tables. If you can’t do so, you will unfortunately need to switch your site to a dedicated server that can handle the high load.

Finally, if you’re importing large amounts of data, make sure you’re following the tips on our “Large MySQL Imports” page.