MariaDB Enterprise Server InnoDB Buffer Pool
This page is part of MariaDB's Documentation.
The parent of this page is: InnoDB Architecture for MariaDB Enterprise Server
Topics on this page:
Overview
In MariaDB Enterprise Server, the InnoDB storage engine uses the Buffer Pool as an in-memory cache. The Buffer Pool caches pages that were recently accessed. If a lot of pages are being accessed sequentially, the Buffer Pool also preemptively caches nearby pages. Pages are evicted using a least recently used (LRU) algorithm.
The contents of the Buffer Pool can be reloaded at startup, so that InnoDB does not have to function with a "cold" cache after a restart. To support this, the page numbers of all pages in the Buffer Pool can be dumped at shutdown. During startup, the page numbers are read from the dump, and InnoDB uses the page numbers to reload each page from its corresponding data file.
The size of each page in the Buffer Pool depends on the value of the innodb_
In versions up to MariaDB Enterprise Server 10.4 and MariaDB Community Server 10.4, the Buffer Pool is divided into multiple instances. The number of instances is configured by the innodb_
Feature Summary
Feature | Detail | Resources |
---|---|---|
Cache | InnoDB Buffer Pool | |
Storage Engine | InnoDB | |
Availability | All ES and CS versions | |
Location | Main Memory | |
Eviction Algorithm | Least Recently Used (LRU) | |
Size | Set by innodb_ |
Basic Configuration
[mariadb]
...
innodb_buffer_pool_size=2G
SET GLOBAL innodb_buffer_pool_size=(2 * 1024 * 1024 * 1024);
SHOW GLOBAL VARIABLES
LIKE 'innodb_buffer_pool_size';
+-------------------------+------------+
| Variable_name | Value |
+-------------------------+------------+
| innodb_buffer_pool_size | 2147483648 |
+-------------------------+------------+