When you add indexes to your data, it enables MySQL to find data faster. However, ideally you want to have these indexes stored in RAM for maximum speed, and the variable
key_buffer_size defines how much RAM MySQL can allocate for index key caching. If MySQL cannot store its indexes in RAM, you will experience serious performance problems. Fortunately, most databases have relatively small key buffer requirements, but you should measure your usage to see what work needs to be done.
To do this, log in to MySQL and type
SHOW STATUS LIKE '%key_read%'; that returns all the status fields that describe the hit rate of your key buffer. You should get two rows back:
Key_read_requests, which are the number of keys ...