7.4.6.6. Restructuring a Key Cache
A key cache can be restructured at any time by updating its
parameter values. For example:
mysql> SET GLOBAL cold_cache.key_buffer_size=4*1024*1024;
If you assign to either the key_buffer_size
or key_cache_block_size
key cache component
a value that differs from the component's current value, the
server destroys the cache's old structure and creates a new
one based on the new values. If the cache contains any dirty
blocks, the server saves them to disk before destroying and
re-creating the cache. Restructuring does not occur if you set
other key cache parameters.
When restructuring a key cache, the server first flushes the
contents of any dirty buffers to disk. After that, the cache
contents become unavailable. However, restructuring does not
block queries that need to use indexes assigned to the cache.
Instead, the server directly accesses the table indexes using
native filesystem caching. Filesystem caching is not as
efficient as using a key cache, so although queries execute, a
slowdown can be anticipated. After the cache has been
restructured, it becomes available again for caching indexes
assigned to it, and the use of filesystem caching for the
indexes ceases.