The cache must support copies of hot data. Hot data is data that is used a lot. If you cannot extract data from a specific cache, this means that the database needs to go to disk to get it.
- edit--
Sorry if the definition seemed a little unpleasant. a particular cache often spans a lot of objects, and this is database specific, you need to first find out what is cached by the table cache.
- change: some investigation -
Well, it seems (from the answer to this post) that Mysql uses table cache for the data structures used to represent the table. data structures also (by encapsulation or by duplicating table entries for each table) are a set of file descriptors open for data files in the file system. The MyIsam mechanism uses one for the table and one for each index; in addition, each active query element requires its own descriptors.
A file descriptor is the core used for an IO file; it represents the low-level context of a specific file that is being read or written.
I think that you are either misinterpreting the meaning or should be interpreted differently in this context. 284 is the number of active tables in the instance in which you took the picture, and the second value represents the number of times the table was received since the start of Mysql.
I would venture to suggest that you need to take a few snapshots of this reading and see if the first value (active fd in this instance) exceeds the capacity of your cache.
ps, the kernel typically has an upper limit on the number of file descriptors that will allow each process to open, so you may need to configure it if it is too small.
Hassan syed
source share