MariaDB 10.3 is a previous major stable version. The first stable release was in May 2018, and it will be supported until May 2023.

For details on upgrading from MariaDB 10.2, see Upgrading from MariaDB 10.2 to 10.3.

MariaDB Server 10.3 is included in MariaDB TX 3.0. Watch the webinar recording to learn more about the new features included in this release.

The following lists the major new features in MariaDB 10.3:

Implemented Features

Syntax / General Features

Compatibility

Compression

Storage-engine Independent Column Compression (MDEV-11371) — Tencent Game DBA Team, developed by willhan, also thanks to AliSQL.

On Linux, shrink the core dumps by omitting the InnoDB buffer pool (MDEV-10814)

Encryption

Temporary files created by merge sort and row log are encrypted if innodb_encrypt_log is set to 1 , regardless of whether the table encrypted or not (MDEV-12634).

Optimizer/Performance

Condition pushdown through PARTITION BY clause of window functions (MDEV-10855)

clause of window functions (MDEV-10855) New [[lateral-derived-optimization|Lateral Derived optimization] was introduced.

Numerous performance improvements for high-concurrency load

Numerous scalability and performance improvements to global data structures, including MDEV-14756, MDEV-15019, MDEV-14482, MDEV-15059, MDEV-15104

Performance improvements to persistent data structures: MDEV-15090, MDEV-15132

Storage Engines

InnoDB

innodb_fast_shutdown now has a new mode, 3 , which skips the rollback of connected transactions (MDEV-15832)

Spider

The Spider storage engine has been updated to 3.3.13. The partitioning storage engine has been updated to support all the new Spider features including:

Direct join support. This allows Spider to do JOINS and GROUP BYs internally.

Direct update and delete.

Direct aggregates.

slave_transaction_retry_errors and slave-transaction-retry-interval allow more control over handling delays or conflicts when applying binary logs.

Most of the features were done as part of MDEV-7698.

OQGRAPH

OQGraph now supports the "leaves" algorithm (MDEV-11271) — contribution by Heinz Wiesinger

Partition Engine

Numerous improvements for the partition engine (MDEV-7698) — contribution by Kentoku Shiba Full text support. Multi-range-read (Gives better performance when handling multiple ranges). Support for condition pushdown. HANDLER support

Aggregate pushdown

Bulk update/delete

Information Schema

The Information Schema is optimized to use much less memory when selecting from INFORMATION_SCHEMA.TABLES or any other table with many VARCHAR or TEXT columns (MDEV-14275)

The Information Schema Columns table now displays system versioning info in the EXTRA column - MDEV-15062

Logging

Disable logging of certain statements to the general log or the slow query log with the log_disabled_statements and log_slow_disabled_statements system variables.

A new option to log_slow_filter, filsort_priority_queue .

Replication

Per-engine mysql.gtid_slave_pos tables (MDEV-12179) — Implemented by Kristian Nielsen funded by Booking.com.

Data Type API

10.3 continues refactoring for the data type API started in 10.2, which will make it possible to have user data type plugins. This work is still in progress (see MDEV-4912 for the current status and subtasks). Most of the task in this category do not change the server behavior. Some tasks do have a visible effect.

Idle Transactions

Connections with idle transactions can be automatically killed after a specified time period by means of the idle_transaction_timeout, idle_readonly_transaction_timeout and idle_write_transaction_timeout system variables.

System Variables

For a list of all new variables, see System Variables Added in MariaDB 10.3 and Status Variables Added in MariaDB 10.3.

New system variable gtid_pos_auto_engines.

New system variable secure_timestamp for restricting the direct setting of a session timestamp (MDEV-15923)

session variables tracking is enabled by default (MDEV-11825)

Remove deprecated variables innodb_file_format, innodb_file_format_check, innodb_file_format_max and innodb_large_prefix.

version_source_revision - permits seeing which version of the source was used for the build (MDEV-12583).

Added bind_address as a system variable (MDEV-12542).

The max value of the max_prepared_stmt_count system variable has been increased from 1048576 to 4294967295

The proxy_protocol_networks variable can now be modified without restarting the server (MDEV-15501)

Comparison with MySQL

List of All MariaDB 10.3 Releases

See Also