# InnoDB

- [InnoDB Introduction](/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](/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](/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](/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](/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](/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](/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](/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](/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](/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](/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](/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](/docs/server/server-usage/storage-engines/innodb/innodb-log-archiving.md)
- [InnoDB Monitors](/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](/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](/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](/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](/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](/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](/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](/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](/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](/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](/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](/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](/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](/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](/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](/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](/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](/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](/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](/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](/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](/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](/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](/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](/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](/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](/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](/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](/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](/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](/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](/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](/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](/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](/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](/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](/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](/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](/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](/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](/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](/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](/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](/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.
