The buffer pool is an area in main memory where
InnoDB caches table and index data as data is
accessed. The buffer pool allows frequently used data to be
processed directly from memory, which speeds up processing. On
dedicated database servers, up to 80% of physical memory is often
assigned to the InnoDB buffer pool.
For efficiency of high-volume read operations, the buffer pool is divided into pages that can potentially hold multiple rows. For efficiency of cache management, the buffer pool is implemented as a linked list of pages; data that is rarely used is aged out of the cache, using a variation of the LRU algorithm.
For more information, see Section 14.9.2.1, “The InnoDB Buffer Pool”, and Section 14.9.2, “InnoDB Buffer Pool Configuration”.