Another little conundrum, here; although I do have the feeling that I'm missing something
In a MySQL 5.5.24, I have these global variables:
| open_files_limit | 8520 |
| table_definition_cache | 4000 |
| table_open_cache | 4000 |
and these global statuses:
| Open_files | 5421 |
| Open_table_definitions | 2669 |
| Open_tables | 3913 |
| Opened_table_definitions | 493857 |
| Opened_tables | 638469 |
In the space of five minutes, opened_table_definitions grows about 24 and opened_tables
about 30; while there is still room in both caches. I've also set table_open_cache to
6000 for half an hour or so, but the status variable hardly changes, while the opened_
variable keeps growing.
The manual isn't proving very cooperative, either. Why would tables get opened outside of
the cache when there is still room? The way I interpret the manual is that opened_tables
doesn't get incremented if a table open can grab a handle in the cache - is my
interpretation wrong? In that case, I suppose it grows because of tables getting flushed
What's tiny and yellow and very, very dangerous?
A canary with the root password.
|• Unused space in table cache, while tables are being opened||Johan De Meersman||25 Feb 2013|