Database size calculation?

What is the most accurate way to estimate how big a database would be with the following characteristics:

  • MySQL
  • 1 Table with three columns:
    • id –> big int)
    • field1 –> varchar 32
    • field2 –> char 32
  • there is an index on field2

You can assume varchar 32 is fully populated (all 32 characters). How big would it be if each field is populated and there are:

  1. 1 Million rows
  2. 5 Million rows
  3. 1 Billion rows
  4. 5 Billion rows

My rough estimate works out to: 1 byte for id, 32 bits each for the other two fields. Making it roughly:

  1 + 32 + 32 = 65 * 1 000 000 = 65 million bytes for 1 million rows
= 62 Megabyte


  1. 62 Mb
  2. 310 Mb
  3. 310 000 Mb = +- 302Gb
  4. 1 550 000 Mb = 1513 Gb

Is this an accurate estimation?


Thank you for visiting the Q&A section on Magenaut. Please note that all the answers may not help you solve the issue immediately. So please treat them as advisements. If you found the post helpful (or not), leave a comment & I’ll get back to you as soon as possible.

Method 1

If you want to know the current size of a database you can try this:

SELECT table_schema "Database Name"
     , SUM(data_length + index_length) / (1024 * 1024) "Database Size in MB"
FROM information_schema.TABLES
GROUP BY table_schema

Method 2

My rough estimate works out to: 1 byte for id, 32 bits each for the other two fields.

You’re way off. Please refer to the MySQL Data Type Storage Requirements documentation. In particular:

  • A BIGINT is 8 bytes, not 1.
  • The storage required for a CHAR or VARCHAR column will depend on the character set in use by your database (!), but will be at least 32 bytes (not bits!) for CHAR(32) and 33 for VARCHAR(32).
  • You have not accounted at all for the size of the index. The size of this will depend on the database engine, but it’s definitely not zero. See the documentation on the InnoDB row structure for more information.

Method 3

On the MySQL website you’ll find quite comprehensive information about storage requirements:

It also depends if you use utf8 or not.

All methods was sourced from or, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0

0 0 votes
Article Rating
Notify of

Inline Feedbacks
View all comments
Would love your thoughts, please comment.x