MySQL Lists are EOL. Please join:

List:General Discussion« Previous MessageNext Message »
From:Johan De Meersman Date:February 25 2013 3:25pm
Subject:Unused space in table cache, while tables are being opened
View as plain text  
Hey list, 

Another little conundrum, here; although I do have the feeling that I'm missing something
very obvious. 

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
after DML. 



What's tiny and yellow and very, very dangerous? 
A canary with the root password. 

Unused space in table cache, while tables are being openedJohan De Meersman25 Feb