InnoDB Storage Engine Introduction

Overview

MariaDB Enterprise Server uses the InnoDB storage engine by default. InnoDB is a general purpose transactional storage engine that is performant, ACID-compliant, and well-suited for most workloads.

Benefits

The InnoDB storage engine:

  • Is available with all versions of MariaDB Enterprise Server and MariaDB Community Server.

  • Is a general purpose storage engine.

  • Is transactional and well-suited for online transactional processing (OLTP) workloads.

  • Is ACID-compliant.

  • Performs well for mixed read-write workloads.

  • Supports online DDL.

Feature Summary

Feature
Detail
Resources

Feature

Detail

Resources

Storage Engine

InnoDB

Availability

All ES and CS versions

Workload Optimization

Transactional

Table Orientation

Row

ACID-compliant

Yes

XA Transactions

Yes

Primary Keys

Yes

InnoDB Primary Keys

Sequences

Yes

InnoDB Sequences

Foreign Keys

Yes

Indexes

Yes

InnoDB Indexes

Secondary Indexes

Yes

InnoDB Secondary Indexes

Unique Indexes

Yes

InnoDB Unique Indexes

Full-text Search

Yes

InnoDB Full-text Indexes

Spatial Indexes

Yes

InnoDB Spatial Indexes

Data-at-Rest Encryption

Yes

High Availability (HA)

Yes

Main Memory Caching

Yes

Garbage Collection

Yes

Online Schema changes

Yes

Non-locking Reads

Yes

Row Locking

Yes

Examples

Creating an InnoDB Table

CREATE DATABASE hq_sales;
CREATE TABLE hq_sales.invoices (
   invoice_id BIGINT UNSIGNED AUTO_INCREMENT NOT NULL,
   branch_id INT NOT NULL,
   customer_id INT,
   invoice_date DATETIME(6),
   invoice_total DECIMAL(13, 2),
   payment_method ENUM('NONE', 'CASH', 'WIRE_TRANSFER', 'CREDIT_CARD', 'GIFT_CARD'),
   PRIMARY KEY(invoice_id)
) ENGINE = InnoDB;
SELECT TABLE_SCHEMA, TABLE_NAME, ENGINE
FROM information_schema.TABLES
WHERE TABLE_SCHEMA='hq_sales'
AND TABLE_NAME='invoices';
+--------------+------------+--------+
| TABLE_SCHEMA | TABLE_NAME | ENGINE |
+--------------+------------+--------+
| hq_sales     | invoices   | InnoDB |
+--------------+------------+--------+

Resources

Architecture

Operations

MariaDB documentation

This page is: Copyright © 2025 MariaDB. All rights reserved.

Last updated

Was this helpful?