EmergencyEMERGENCY? Get 24/7 Help Now!

How much memory Innodb Dictionary can take ?

 | May 6, 2010 |  Posted In: Insight for DBAs, MySQL


The amount of memory Innodb will require for its data dictionary depends on amount of tables you have as well as number of fields and indexes. Innodb allocates this memory once table is accessed and keeps until server is shut down. In XtraDB we have an option to restrict that limit.

So how much memory can it really take ? Here is some production stats from real system:

In this case The memory stats from SHOW INNODB STATUS look like:

So considering about 700M were allocated for dictionary cache in this case we have about 15KB per Table or 1.5KB per Index. These numbers will change a lot depending on your table structure – This given schema had many tables with 50+ columns but I believe it can be helpful as ballpark figure.

Also note Dictionary Cache is not included in “Total Memory Allocated” in SHOW INNODB STATUS any more, as that allocations were moved to use malloc() and so Innodb does not track them any more.

Peter Zaitsev

Peter managed the High Performance Group within MySQL until 2006, when he founded Percona. Peter has a Master's Degree in Computer Science and is an expert in database kernels, computer hardware, and application scaling.


  • MySQL Documentation says:

    “Do not convert MySQL system tables in the mysql database from MyISAM to InnoDB tables! This is an unsupported operation.”
    In my db when I run sql get below error:

    mysql> SELECT count(*) FROM INNODB_SYS_TABLES;
    ERROR 1146 (42S02): Table ‘test.INNODB_SYS_TABLES’ doesn’t exist

Leave a Reply


Percona’s widely read Percona Database Performance blog highlights our expertise in enterprise-class software, support, consulting and managed services solutions for both MySQL® and MongoDB® across traditional and cloud-based platforms. The decades of experience represented by our consultants is found daily in numerous and relevant blog posts.

Besides specific database help, the blog also provides notices on upcoming events and webinars.
Want to get weekly updates listing the latest blog posts? Subscribe to our blog now! Submit your email address below and we’ll send you an update every Friday at 1pm ET.

No, thank you. Please do not ask me again.