This is a read-only copy of the MariaDB Knowledgebase generated on 2025-05-02. For the latest, interactive version please visit https://mariadb.com/kb/.

MariaDB Enterprise Server InnoDB Background Thread Pool

Overview

Starting with MariaDB Enterprise Server 10.5 and MariaDB Community Server 10.5, InnoDB uses the InnoDB Background Thread Pool to perform internal operations in the background. In previous versions, the internal operations were performed by dedicated threads. By using the InnoDB Background Thread Pool instead of many dedicated threads, InnoDB can reduce context switching and use system resources more effectively.

The InnoDB Background Thread Pool performs internal operations in multiple categories: tasks, timers, and asynchronous I/O.

Tasks are used to perform internal operations that are triggered by some event. In ES 10.5 and later and CS 10.5 and later, the following threads have been replaced by tasks with the InnoDB Background Thread Pool:

  • The InnoDB Buffer Pool Resize Thread
  • The InnoDB Buffer Pool Dump Thread
  • The InnoDB Full-Text Search (FTS) Optimization Thread

Timers are used to perform internal operations that are triggered periodically. In ES 10.5 and later and CS 10.5 and later, the following threads have been replaced by timers with the InnoDB Background Thread Pool:

  • The InnoDB Master Thread
  • The InnoDB Defragmentation Thread
  • The InnoDB Monitor Thread
  • The InnoDB Error Monitor Thread

Asynchronous I/O is used to read from and write to disk asynchronously. In ES 10.5 and later and CS 10.5 and later, the following threads have been replaced by asynchronous I/O with the InnoDB Background Thread Pool:

Feature Summary

FeatureDetailResources
Thread PoolInnoDB Background Thread Pool
Storage EngineInnoDB
PurposeHandles background tasks for InnoDB
Availability• ES 10.5+
• CS 10.5+
MariaDB Enterprise Server
Content reproduced on this site is the property of its respective owners, and this content is not reviewed in advance by MariaDB. The views, information and opinions expressed by this content do not necessarily represent those of MariaDB or any other party.