This patch limits the size of InnoDB's data dictionary.
It fixes the following problem in standard InnoDB: the data dictionary is unlimited in size, and can grow extremely large. The size depends on the number of InnoDB tables in the server. Once opened, a table is never removed from the data dictionary in standard InnoDB, so the visible symptom is steadily increasing memory usage. See the examples to see how to compute the memory usage that may be caused by this problem.
The patch provides the following variables:
| Type | System and command-line variable |
| Scope | Global |
| Dynamic | Yes |
| Default | 0 |
This variable places a soft upper bound on the memory used by tables in the data dictionary [in bytes]. When the allocated memory exceeds the value, InnoDB tries to remove some unused entries if possible. The default value of 0 gives the same behavior as standard InnoDB, which is unlimited memory usage.
| Type | Status variable |
| Scope | Global |
| Dynamic | |
| Default |
This variable shows the number of entries in the InnoDB data dictionary cache.
| Author/Origin | Percona |
| Bugs fixed | |
| Dependencies | |
| Introduced in | Not Yet |