# InnoDB

- [InnoDB Introduction](https://mariadb.com/docs/server/server-usage/storage-engines/innodb/innodb-storage-engine-introduction.md): An overview of the InnoDB storage engine, detailing its support for ACID transactions, row-level locking, and crash recovery.
- [InnoDB File Format](https://mariadb.com/docs/server/server-usage/storage-engines/innodb/innodb-file-format.md): Learn about the different file formats supported by InnoDB, such as Antelope and Barracuda, and how they impact table features and storage.
- [InnoDB Limitations](https://mariadb.com/docs/server/server-usage/storage-engines/innodb/innodb-limitations.md): A list of constraints and limits within the InnoDB engine, including maximum table size, column counts, and index key lengths.
- [AUTO\_INCREMENT Handling in InnoDB](https://mariadb.com/docs/server/server-usage/storage-engines/innodb/auto_increment-handling-in-innodb.md): This page explains how InnoDB manages AUTO\_INCREMENT columns, including initialization behavior, gap handling, and potential restart effects.
- [Binary Log Group Commit and InnoDB Flushing Performance](https://mariadb.com/docs/server/server-usage/storage-engines/innodb/binary-log-group-commit-and-innodb-flushing-performance.md): Understand how group commit works with InnoDB to improve performance by reducing the number of disk syncs required during transaction commits.
- [InnoDB Asynchronous I/O](https://mariadb.com/docs/server/server-usage/storage-engines/innodb/innodb-asynchronous-io.md): Explore how InnoDB uses asynchronous I/O on various operating systems to handle multiple read and write requests concurrently without blocking.
- [InnoDB Buffer Pool](https://mariadb.com/docs/server/server-usage/storage-engines/innodb/innodb-buffer-pool.md): Complete InnoDB Buffer Pool guide for MariaDB. Complete reference documentation for implementation, configuration, and usage with comprehensive examples and.
- [InnoDB Change Buffering](https://mariadb.com/docs/server/server-usage/storage-engines/innodb/innodb-change-buffering.md): Learn about the change buffer, an optimization that delays secondary index writes to reduce I/O overhead for non-unique index modifications.
- [InnoDB Data Scrubbing](https://mariadb.com/docs/server/server-usage/storage-engines/innodb/innodb-data-scrubbing.md): This feature allows for the secure deletion of data by overwriting deleted records in tablespaces and logs to prevent data recovery.
- [InnoDB Doublewrite Buffer](https://mariadb.com/docs/server/server-usage/storage-engines/innodb/innodb-doublewrite-buffer.md): The doublewrite buffer is a storage area where InnoDB writes pages before writing them to the data file, preventing data corruption from partial page writes.
- [InnoDB Flush Method](https://mariadb.com/docs/server/server-usage/storage-engines/innodb/innodb-flush-method.md): Detailed description of the innodb\_flush\_method variable, its various settings, and effects.
- [InnoDB Lock Modes](https://mariadb.com/docs/server/server-usage/storage-engines/innodb/innodb-lock-modes.md): InnoDB employs Row-Level Locking with Shared (S) and Exclusive (X) locks, along with Intention locks, to manage concurrent transaction access.
- [InnoDB Log Archiving](https://mariadb.com/docs/server/server-usage/storage-engines/innodb/innodb-log-archiving.md)
- [InnoDB Monitors](https://mariadb.com/docs/server/server-usage/storage-engines/innodb/innodb-monitors.md): InnoDB Monitors, such as the Standard, Lock, and Tablespace monitors, provide detailed internal state information to the error log for diagnostics.
- [InnoDB Page Compression](https://mariadb.com/docs/server/server-usage/storage-engines/innodb/innodb-page-compression.md): This feature enables transparent page-level compression for tables using algorithms like LZ4 or Zlib, reducing storage requirements.
- [InnoDB Page Flushing](https://mariadb.com/docs/server/server-usage/storage-engines/innodb/innodb-page-flushing.md): Learn about the background processes that flush dirty pages from the buffer pool to disk, including adaptive flushing algorithms to optimize I/O.
- [InnoDB Purge](https://mariadb.com/docs/server/server-usage/storage-engines/innodb/innodb-purge.md): The purge process is a garbage collection mechanism that removes old row versions from the undo log that are no longer required for MVCC.
- [InnoDB Undo Log](https://mariadb.com/docs/server/server-usage/storage-engines/innodb/innodb-undo-log.md): The undo log stores the "before" image of data modified by active transactions, supporting rollbacks and consistent read views.
- [InnoDB Redo Log](https://mariadb.com/docs/server/server-usage/storage-engines/innodb/innodb-redo-log.md): The redo log is a disk-based transaction log used during crash recovery to replay incomplete transactions and ensure data durability.
- [InnoDB Strict Mode](https://mariadb.com/docs/server/server-usage/storage-engines/innodb/innodb-strict-mode.md): InnoDB Strict Mode enforces stricter SQL compliance, returning errors instead of warnings for invalid CREATE TABLE options or potential data loss.
- [InnoDB System Variables](https://mariadb.com/docs/server/server-usage/storage-engines/innodb/innodb-system-variables.md): Complete guide to InnoDB system variables for MariaDB. Complete reference for buffer pool, I/O tuning, transaction settings, and optimization for production use.
- [InnoDB Versions](https://mariadb.com/docs/server/server-usage/storage-engines/innodb/innodb-versions.md): This page is outdated. It's left in place because release notes for old MariaDB versions refer to it (MariaDB < 10.3).
- [InnoDB Architecture for MariaDB Enterprise Server](https://mariadb.com/docs/server/server-usage/storage-engines/innodb/innodb-architecture-for-mariadb-enterprise-server.md): Understand InnoDB's architecture for MariaDB Enterprise Server. This section details its components and their interactions, focusing on performance, scalability, and reliability for enterprise workloa
- [MariaDB Enterprise Server InnoDB Background Thread Pool](https://mariadb.com/docs/server/server-usage/storage-engines/innodb/innodb-architecture-for-mariadb-enterprise-server/mariadb-enterprise-server-innodb-background-thread-pool.md): This page details the dedicated thread pool in MariaDB Enterprise Server that manages InnoDB background tasks, improving scalability and performance.
- [MariaDB Enterprise Server InnoDB I/O Threads](https://mariadb.com/docs/server/server-usage/storage-engines/innodb/innodb-architecture-for-mariadb-enterprise-server/mariadb-enterprise-server-innodb-io-threads.md): Learn about the specialized I/O threads in MariaDB Enterprise Server's InnoDB engine that handle asynchronous read and write operations efficiently.
- [InnoDB Online DDL](https://mariadb.com/docs/server/server-usage/storage-engines/innodb/innodb-online-ddl.md): Perform online DDL operations with InnoDB in MariaDB Server. Learn how to alter tables without blocking read/write access, ensuring high availability for your applications.
- [InnoDB Online DDL Overview](https://mariadb.com/docs/server/server-usage/storage-engines/innodb/innodb-online-ddl/innodb-online-ddl-overview.md): An introduction to InnoDB's online DDL capabilities, detailing the ALGORITHM and LOCK clauses for controlling performance and concurrency during schema changes.
- [InnoDB Online DDL Operations with the INPLACE Alter Algorithm](https://mariadb.com/docs/server/server-usage/storage-engines/innodb/innodb-online-ddl/innodb-online-ddl-operations-with-the-inplace-alter-algorithm.md): Learn about operations supported by the INPLACE algorithm, which rebuilds the table but allows concurrent DML, offering a balance between performance and availability.
- [InnoDB Online DDL Operations with the INSTANT Alter Algorithm](https://mariadb.com/docs/server/server-usage/storage-engines/innodb/innodb-online-ddl/innodb-online-ddl-operations-with-the-instant-alter-algorithm.md): Discover the INSTANT algorithm, which modifies table metadata without rebuilding the table, enabling extremely fast schema changes like adding columns.
- [InnoDB Online DDL Operations with the NOCOPY Alter Algorithm](https://mariadb.com/docs/server/server-usage/storage-engines/innodb/innodb-online-ddl/innodb-online-ddl-operations-with-the-nocopy-alter-algorithm.md): Understand the NOCOPY algorithm, which avoids rebuilding the clustered index for certain operations like adding secondary indexes, significantly reducing I/O.
- [Instant ADD COLUMN for InnoDB](https://mariadb.com/docs/server/server-usage/storage-engines/innodb/innodb-online-ddl/instant-add-column-for-innodb.md): A focused guide on the Instant ADD COLUMN feature, explaining how it works by modifying metadata and its advantages over traditional table-rebuilding methods.
- [InnoDB Row Formats](https://mariadb.com/docs/server/server-usage/storage-engines/innodb/innodb-row-formats.md): Explore InnoDB row formats in MariaDB Server. Understand different formats like Compact, Dynamic, and Compressed, and how they impact storage efficiency and performance for your data.
- [InnoDB Row Formats Overview](https://mariadb.com/docs/server/server-usage/storage-engines/innodb/innodb-row-formats/innodb-row-formats-overview.md): An overview of the four InnoDB row formats (REDUNDANT, COMPACT, DYNAMIC, COMPRESSED), comparing their storage efficiency and feature support.
- [InnoDB COMPACT Row Format](https://mariadb.com/docs/server/server-usage/storage-engines/innodb/innodb-row-formats/innodb-compact-row-format.md): Detailed information on the COMPACT row format, which reduces storage space by roughly 20% compared to REDUNDANT, handling NULLs and variable-length columns efficiently.
- [InnoDB COMPRESSED Row Format](https://mariadb.com/docs/server/server-usage/storage-engines/innodb/innodb-row-formats/innodb-compressed-row-format.md): Learn about the COMPRESSED row format, which compresses data and index pages using algorithms like zlib to minimize storage footprint at the cost of CPU.
- [InnoDB DYNAMIC Row Format](https://mariadb.com/docs/server/server-usage/storage-engines/innodb/innodb-row-formats/innodb-dynamic-row-format.md): The DYNAMIC row format, default in modern MariaDB versions, optimizes storage for large BLOB/TEXT columns by storing them on separate overflow pages.
- [InnoDB REDUNDANT Row Format](https://mariadb.com/docs/server/server-usage/storage-engines/innodb/innodb-row-formats/innodb-redundant-row-format.md): Information on the legacy REDUNDANT row format, primarily maintained for backward compatibility with older MySQL versions.
- [Troubleshooting Row Size Too Large Errors with InnoDB](https://mariadb.com/docs/server/server-usage/storage-engines/innodb/innodb-row-formats/troubleshooting-row-size-too-large-errors-with-innodb.md): Complete InnoDB row size troubleshooting: innodb\_strict\_mode, ALTER TABLE ROW\_FORMAT=DYNAMIC, VARCHAR/VARBINARY(256) overflow, and BLOB/TEXT solutions.
- [InnoDB Tablespaces](https://mariadb.com/docs/server/server-usage/storage-engines/innodb/innodb-tablespaces.md): Manage InnoDB tablespaces in MariaDB Server. Understand their role in data organization, performance, and recovery, including file-per-table and shared tablespaces.
- [InnoDB File-Per-Table Tablespaces](https://mariadb.com/docs/server/server-usage/storage-engines/innodb/innodb-tablespaces/innodb-file-per-table-tablespaces.md): Learn how to configure InnoDB to store each table in its own .ibd file, enabling features like table compression and easier space reclamation.
- [InnoDB System Tablespaces](https://mariadb.com/docs/server/server-usage/storage-engines/innodb/innodb-tablespaces/innodb-system-tablespaces.md): This page explains the InnoDB system tablespace (ibdata1), which stores the data dictionary, doublewrite buffer, and undo logs, and how to resize it.
- [InnoDB Temporary Tablespaces](https://mariadb.com/docs/server/server-usage/storage-engines/innodb/innodb-tablespaces/innodb-temporary-tablespaces.md): This page explains how InnoDB manages temporary tablespaces for non-compressed temporary tables, including configuration and sizing options.
- [InnoDB Troubleshooting](https://mariadb.com/docs/server/server-usage/storage-engines/innodb/innodb-troubleshooting.md): Troubleshoot InnoDB issues in MariaDB Server. Find solutions and best practices for common problems, ensuring your InnoDB-based applications run smoothly and efficiently.
- [InnoDB Troubleshooting Overview](https://mariadb.com/docs/server/server-usage/storage-engines/innodb/innodb-troubleshooting/innodb-troubleshooting-overview.md): A starting point for diagnosing InnoDB issues, recommending checks on error logs, deadlocks, and table integrity using various tools.
- [InnoDB Data Dictionary Troubleshooting](https://mariadb.com/docs/server/server-usage/storage-engines/innodb/innodb-troubleshooting/innodb-data-dictionary-troubleshooting.md): Learn how to resolve inconsistencies between the InnoDB internal data dictionary and the file system, such as orphan .frm or .ibd files.
- [InnoDB Recovery Modes](https://mariadb.com/docs/server/server-usage/storage-engines/innodb/innodb-troubleshooting/innodb-recovery-modes.md): Understand the different \`innodb\_force\_recovery\` levels, which allow you to start the server in read-only modes to recover data after a crash.
- [MariaDB Enterprise Server InnoDB Operations](https://mariadb.com/docs/server/server-usage/storage-engines/innodb/mariadb-enterprise-server-innodb-operations.md): Learn about InnoDB operations in MariaDB Enterprise Server. This section covers critical management tasks, including configuration, performance tuning, and troubleshooting for enterprise-grade deploym
- [Configure the InnoDB Buffer Pool](https://mariadb.com/docs/server/server-usage/storage-engines/innodb/mariadb-enterprise-server-innodb-operations/configure-the-innodb-buffer-pool.md): A guide to configuring the size and instances of the InnoDB Buffer Pool to optimize memory usage and cache performance.
- [Configure the InnoDB I/O Threads](https://mariadb.com/docs/server/server-usage/storage-engines/innodb/mariadb-enterprise-server-innodb-operations/configure-the-innodb-io-threads.md): Instructions on tuning the number of InnoDB read and write I/O threads to match your system's disk I/O capabilities.
- [Configure the InnoDB Purge Threads](https://mariadb.com/docs/server/server-usage/storage-engines/innodb/mariadb-enterprise-server-innodb-operations/configure-the-innodb-purge-threads.md): Learn how to adjust the number of background purge threads to efficiently manage undo logs and prevent history list growth.
- [Configure the InnoDB Redo Log](https://mariadb.com/docs/server/server-usage/storage-engines/innodb/mariadb-enterprise-server-innodb-operations/configure-the-innodb-redo-log.md): A guide to configuring the size and number of InnoDB redo log files in MariaDB Enterprise Server to balance write performance and crash recovery time.
- [Configure the InnoDB Undo Log](https://mariadb.com/docs/server/server-usage/storage-engines/innodb/mariadb-enterprise-server-innodb-operations/configure-the-innodb-undo-log.md): Learn how to manage InnoDB undo logs in MariaDB Enterprise Server, including moving them to separate tablespaces and enabling truncation.
- [Schema Changes](https://mariadb.com/docs/server/server-usage/storage-engines/innodb/mariadb-enterprise-server-innodb-operations/schema-changes.md): An overview of supported online schema change operations in InnoDB, detailing which DDL statements can be performed without locking the table.
- [InnoDB Schema Changes](https://mariadb.com/docs/server/server-usage/storage-engines/innodb/mariadb-enterprise-server-innodb-operations/schema-changes/schema-changes-innodb-schema-changes.md): A detailed reference list of specific schema change operations (like adding columns or indexes) and their compatibility with INSTANT, INPLACE, and NOCOPY algorithms.
- [InnoDB - Unmaintained](https://mariadb.com/docs/server/server-usage/storage-engines/innodb/mariadb-enterprise-server-innodb-operations/innodb-unmaintained.md): This section provides information about unmaintained or deprecated features related to InnoDB in MariaDB Server. It is advisable to review this content for compatibility and migration planning.
- [About XtraDB](https://mariadb.com/docs/server/server-usage/storage-engines/innodb/mariadb-enterprise-server-innodb-operations/innodb-unmaintained/about-xtradb.md): Information about the XtraDB storage engine that was used in old MariaDB versions.
- [Using InnoDB Instead of XtraDB](https://mariadb.com/docs/server/server-usage/storage-engines/innodb/mariadb-enterprise-server-innodb-operations/innodb-unmaintained/using-innodb-instead-of-xtradb.md): Information about XtraDB, an storage engine used in old MariaDB versions.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://mariadb.com/docs/server/server-usage/storage-engines/innodb.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
