Server System Variables using mostly updates and deletes, but might be much smaller if you tend to do updates that affect many rows at the same time or if you are using the  DELAY_KEY_WRITE  table option. The fraction of the key buffer in use can be determined using  key_buffer_size  in conjunction with the  Key_blocks_unused  status variable and the buffer block size, which is available from the key_cache_block_size  system variable: 1 - ((Key_blocks_unused * key_cache_block_size) / key_buffer_size) This value is an approximation because some space in the key buffer is allocated internally for administrative structures. Factors that influence the amount of overhead for these structures include block size and pointer size. As block size increases, the percentage of the key buffer lost to overhead tends to decrease. Larger blocks results in a smaller number of read operations (because more keys are obtained per read), but conversely an increase in reads of keys that are not examined (if not all keys in a block are relevant to a query). It is possible to create multiple  MyISAM  key caches. The size limit of 4GB applies to each cache individually, not as a group. See Section 8.10.2, “The MyISAM Key Cache” . This value controls the demotion of buffers from the hot sublist of a key cache to the warm sublist. Lower values cause demotion to happen more quickly. The minimum value is 100. The default value is 300. See Section 8.10.2, “The MyISAM Key Cache” . • key_cache_block_size • key_cache_age_threshold Command-Line Format --key-cache-age-threshold=# System Variable key_cache_age_threshold Scope Global Dynamic Yes SET_VAR  Hint Applies No Type Integer Default Value 300 Minimum Value 100 Maximum Value (64-bit platforms) 18446744073709551615 Maximum Value (32-bit platforms) 4294967295 Block Size 100 Command-Line Format --key-cache-block-size=# System Variable key_cache_block_size Scope Global Dynamic Yes SET_VAR  Hint Applies No Type Integer Default Value 1024 Minimum Value 512 Maximum Value 16384 814