MariaDB 5.3 Series Release Notes
MariaDB 5.3 is no longer maintained. Please use a more recent release.
The focus for MariaDB 5.3 is to radically improve performance for subqueries, as well as for joins and single-table queries over large data sets.
MariaDB 5.3 is based on MariaDB 5.2 and thus on MariaDB 5.1 and MySQL 5.1. It is no longer being supported.
Some of the code was backported from MySQL 6.0 (a MySQL version that was never released as GA by Oracle), some was re-engineered and enriched by new features, and some code was written from scratch.
Any new feature or combination of features can be switched on/off dynamically via theoptimizer_switch system variable.
The first stable (GA) release of MariaDB 5.3 wasMariaDB 5.3.5, which was released on 29 Feb 2012.
You can downloadthe latest binaries of MariaDB 5.3 here, or get the latestsource code from launchpad.
We have created an Optimizer Feature Comparison Matrix showing the new optimizer features in MariaDB 5.5 and 5.3 compared to MySQL 5.5 and 5.6.
Subqueries are finally usable in practice. It is no longer necessary to
rewrite subqueries manually into joins or into separate queries. MariaDB 5.3
aims to provide reasonably efficient handling for all kinds of subqueries.
All problems with EXPLAIN
taking a long time have also been resolved.
Semi-join subquery optimizations These transform subqueries into 'semi-joins', entities similar to inner joins, and then use join optimizer to pick the best semi-join execution strategy. Overall the process is similar to how joins are processed in MySQL,MariaDB and other database systems.
Non-semi-join optimizations If a subquery is not a semi-join, MariaDB 5.3 will make a cost-based choice between these two strategies:
Materialization for non-correlated subqueries, with efficient NULL-aware execution
IN-to-EXISTS transformation (the only optimization inherited from MariaDB 5.2 and MySQL 5.1/5.5)
Subquery Cache The subquery cache makes sure that subqueries are re-executed as few times as possible, improving performance of already optimized subqueries.
Subqueries are never executed during EXPLAIN
, thus resulting in almost
instant EXPLAIN
.
DISTINCT and GROUP BY without HAVING are optimized away from subqueries.
The Subquery Optimizations Map shows new subqueries optimizations graphically.
No early materialization of derived tables (e.g. subqueries in a FROM
clause) and materialized views (EXPLAIN
is always instantaneous)
Thanks to Derived Table Merge optimization, mergeable derived tables are now processed like mergeable VIEWs.
Derived Table with Keys optimization gives the optimizer an option to create indexes over materialized derived tables
Fields of merge-able views and derived tables are involved now in all optimizations employing equalities
Multi-Range-Read optimization (MRR)
Key-ordered retrieval
Block Nested Loop algorithm can be used for outer joins
Block Hash Join (classic algorithm) is implemented and can be used for any equi-joins
Block Index Join (Batch Key Access Join) is supported and can exploit the benefits of ordered retrievals for primary and secondary keys provided by the new implementation of MRR
All block based algorithms for joins can use the benefits of new incremental join buffers
All block based algorithms fully support outer joins including nested outer joins
All block based algorithms can use the benefits of the first match optimization for semi-joins and the non-exist optimization for outer joins
All block based algorithms for joins can exploit the benefits of index condition push-down.
The total memory space used by the query for join buffers can be limited now, and block based algorithms can allocate join buffers up to their needs (not exceeding the set limits).
Condition over outer tables extracted from ON expressions of outer joins are evaluated before inner tables are accessed (supported for both regular index join and block index join)
Early checks for nulls for the fields from any null-rejecting conditions are performed
Correct optimization of index_merge vs range access: Fair choice between range and index_merge optimizations
index_merge/sort_intersection strategy
@@optimizer_switch variable can be used to turn on/off all new optimizations.
HandlerSocket plugin included.
Faster HANDLER commands; HANDLER READ now also work with prepared statements.
Dynamic Columns support.
Group commit for the binary log —MariaDB 5.3 implements group commit which works when using XtraDB with the binary log enabled. (In previous MariaDB releases, and all MySQL releases at the time of writing, group commit works in InnoDB/XtraDB when the binary log is disabled, but stops working when the binary log is enabled).
Annotation of row-based replication events with the original SQL statement — When using row-based replication, the binary log does not contain SQL statements, only discrete single-row insert/update/delete events. This can make it harder to read mysqlbinlog output and understand where in an application a given event may have originated, complicating analysis and debugging.This feature adds an option to include the original SQL statement as a comment in the binary log (and shown in mysqlbinlog output) for row-based replication events.
Checksums for binlog events. This is a backport of the same feature in MySQL 5.6. It was implemented in MWL#180.
Enhancements for START TRANSACTION WITH CONSISTENT SNAPSHOT —
In MariaDB 5.3, START TRANSACTION WITH CONSISTENT SNAPSHOT
now also works
with the binary log. This means it is possible to obtain the binlog position
corresponding to a transactional snapshot of the database without blocking
any other queries. This is used by the command
"mysqldump
--single-transaction
--master-data
" to do a fully
non-blocking backup which can be used to provision a new slave.
"START
TRANSACTION
WITH
CONSISTENT
SNAPSHOT
" now also
works consistently between transactions involving more than one storage
engine (currently XTraDB and PBXT support this).
Row-based replication for tables with no primary key —
This feature can improve the performance of row-based replication on tables
that do not have a primary key (or other unique key), but which do have
another index that can help locate rows to update or delete. With this
feature, index cardinality information from ANALYZE TABLE
is considered
when selecting the index to use (before this feature is implemented, the
first index was selected unconditionally).
mysqlbinlog
will now omit redundant use
statements
around BEGIN
, SAVEPOINT
, COMMIT
, and ROLLBACK
events when
reading MySQL 5.0 binlogs.
Microsecond support for NOW() andtimestamp, time, and datetime columns.
CAST() now supports AS DECIMAL[(M,D)] and AS INT.
CAST() and all other datetime/time functions now supports microsecond fully.
Backported Windows performance patches from MySQL 5.5.
Asynchronous IO in XtraDB is redesigned and is now faster, due to the use of IO completion ports.
Additional durability option for XtraDB : innodb_flush_method
can now
be O_DSYNC
, like on Unixes. The effect of using this option is that the
log file is opened with FILE_FLAG_WRITETHROUGH
,
and FlushFileBuffers()
is not done. This may improve speed in write-heavy
scenarios.
A new Windows MSI installer.
Includes a GUI-tool, HeidiSQL.
New status variables: Rows_tmp_read
, Handler_tmp_write
,
and Handler_tmp_update
which count what happens with internal temporary
tables. Rows_read
, Handler_write
and Handler_update
no longer
count operations on internal temporary tables.
New status variable Handler_read_rnd_deleted
, which is number of deleted rows found and skipped while scanning a table. Before this was part of Handler_read_rnd_next
.
New variable 'in_transaction' that is 1 if you are in a transaction, 0 otherwise.
Progress reports for ALTER TABLE
and LOAD DATA INFILE
. In addition Aria tables gives progress reports
for REPAIR TABLE
and CHECK TABLE
. The progress can be seen
in SHOW PROCESSLIST
, INFORMATION_SCHEMA.PROCESSLIST
and is sent to
MariaDB clients that calls mysql_real_connect()
with the
new CLIENT_PROGRESS
flag. mysql
command line client supports the new
progress indications.
PBXT consistent commit ordering —
This feature implements the new commit ordering storage engine API in PBXT.
With this feature, it is possible to use
"START TRANSACTION WITH CONSISTENT SNAPSHOT
" and get consistency among
transactions which involve both XtraDB and InnoDB. (Without this feature,
there is no such consistency guarantee. For example, even after running
"START TRANSACTION WITH CONSISTENT SNAPSHOT
" it was still possible for
the InnoDB/XtraDB part of some transaction T to be visible and the PBXT
part of the same transaction T to not be visible.)
MariaDB unique error numbers now start from 1900
to not clash with MySQL
error numbers.
`/*M!
*/` new executed comment syntax that can be
used when you want use new MariaDB syntax but still want your program to be compatible with MySQL.
A MariaDB optimized version of mytop is included in the MariaDB distribution.
Enhanced KILL syntax:
KILL [HARD | SOFT] [CONNECTION | QUERY] [thread_id | USER user_name]
max_user_connections
(both the global variable and
the GRANT
option) can be set to -1
to stop users from connecting to
the server. The global max_user_connections
variable does
not affect users with the SUPER
privilege.
The IGNORE directive does not ignore all errors (like fatal errors), only things that are safe to ignore.
You can access the MariaDB 5.3 tree fromlaunchpad.
For a complete list of security vulnerabilities (CVEs) fixed across all versions of MariaDB, see the Security Vulnerabilities Fixed in MariaDB page.
CVE-2013-1531: MariaDB 5.3.12CVE-2013-0389: MariaDB 5.3.12CVE-2013-0385: MariaDB 5.3.12CVE-2013-0384: MariaDB 5.3.12CVE-2013-0383: MariaDB 5.3.12CVE-2013-0375: MariaDB 5.3.12CVE-2012-5627: MariaDB 5.3.12 [2]CVE-2012-5615: MariaDB 5.3.12 [2]CVE-2012-5612: MariaDB 5.3.12CVE-2012-5611: MariaDB 5.3.12, MariaDB 5.3.11CVE-2012-4414: MariaDB 5.3.8 [2]CVE-2012-1705: MariaDB 5.3.12CVE-2012-1702: MariaDB 5.3.12CVE-2012-0574: MariaDB 5.3.12CVE-2012-0572: MariaDB 5.3.12
This page is licensed: CC BY-SA / Gnu FDL
Download | Release Notes | Changelog |Overview of 5.3
Release date: 30 Jan 2013
This is a Stable (GA) release. In general this means that there are no known serious bugs, except for those marked as feature requests, that no bugs were fixed since last release that caused a notable code changes, and that we believe the code is ready for general usage (based on bug inflow).
For a description of MariaDB 5.3 see theWhat is MariaDB 5.3 page.
For a list of changes made in this release, with links to detailed information on each push, see theMariaDB 5.3.12 Changelog.
In most respects MariaDB will work exactly as MySQL: all commands, interfaces, libraries and APIs that exist in MySQL also exist in MariaDB.
This release is primarily a bug-fix release.
This release includes fixes for the following security vulnerabilities:
A buffer overflow that can cause a server crash or arbitrary code execution (a variant of CVE-2012-5611)
CVE-2012-5627/MDEV-3915 fast password brute-forcing using the "change user" command
CVE-2012-5615/MDEV-3909 information leakage about existing user accounts via the protocol handshake
fixes for DoS attacks - crashes and server lockups (see the Changelog)
DoS - server lockup (MDEV-4029)
DoS - server crash (MDEV-729)
Additionally, it includes all security fixes from MySQL 5.1.67, such as fix for a buffer overflow with stored routines (a variant of CVE-2012-5612) and fixes for the following vulnerabilities:
This release includes MariaDB 5.2.14 and (by extension) MySQL 5.1.67. SeeChanges in MySQL 5.1.67 for what changed in MySQL.
The MariaDB project tries to support as many different Operating Systems and Linux Distributions as we can. However, when a distribution or OS stops receiving security and other updates it becomes difficult to freely provide packages for that platform. In such cases, our policy is to deprecate that platform and stop providing binary packages for it.
As of 1 Feb 2013, we will stop building packages for the following:
Fedora 16 "Verne"
Debian 5 "Lenny"
Ubuntu 10.10 "Maverick"
Ubuntu 11.04 "Natty"
If your chosen Linux Distribution or Operating System is deprecated, packages or support are not completely unavailable. Companies such asSkySQL and Monty Program (and others) provide support for all versions of MariaDB back to even very old MySQL versions. This includes packaged binaries. Contact them for more details.
More information on our deprecation policy can be found at:
From the beginning of the MariaDB project in 2009 we've kept all of our old releases online via our network of mirrors. Doing this is great for those few who are interested in old releases, but the disk space required to host all of our old releases is over 130 Gigabytes at present and grows by several gigabytes with each new release. This is too much for some of our mirrors to handle. So, starting with this release our primary mirror will only host the most recent three or four releases in each series (5.5, 10.0, and so on). Mirrors are, of course, free to keep archiving every release, but the primary mirror that they pull from will not.
Old releases do have value, so for those that are interested in old releases, we are setting up a simple, no frills, archive server which will host them. Once the server is up and running, links to archived releases ondownloads.mariadb.org will point at the archive server. During the transition period, links to some old releases may disappear for a short time, but don't worry, they haven't been deleted, they're just being moved!
Thanks, and enjoy MariaDB!
This page is licensed: CC BY-SA / Gnu FDL
The most recent release in the MariaDB 5.3 series is:MariaDB 5.3.12
Download | Release Notes | Changelog |Overview of 5.3
Release date: 29 Nov 2012
MariaDB 5.3.11 is a Stable (GA) release. In general this means that there are no known serious bugs, except for those marked as feature requests, that no bugs were fixed since last release that caused notable code changes, and that we believe the code is ready for general usage (based on bug inflow).
For a description of MariaDB 5.3 see the What is MariaDB 5.3 page.
For a list of changes made in MariaDB 5.3.11, with links to detailed information on each push, see the MariaDB 5.3.11 Changelog.
In most respects MariaDB will work exactly as MySQL: all commands, interfaces, libraries and APIs that exist in MySQL also exist in MariaDB.
MariaDB 5.3.11 includes a fix for CVE-2012-5611, a vulnerability that allowed an authenticated user to crash MariaDB server or to execute arbitrary code with the privileges of the mysqld
process. This is a serious security issue. We recommend upgrading from older versions as soon as possible.
This page is licensed: CC BY-SA / Gnu FDL
The most recent release in the MariaDB 5.3 series is:MariaDB 5.3.12
Download |Release Notes |Changelog |Overview of 5.3
Release date: 13 Nov 2012
MariaDB 5.3.10 is a Stable (GA) release. In general this means that there are no known serious bugs, except for those marked as feature requests, that no bugs were fixed since last release that caused notable code changes, and that we believe the code is ready for general usage (based on bug inflow).
For a description of MariaDB 5.3 see theWhat is MariaDB 5.3 page.
For a list of changes made in MariaDB 5.3.10, with links to detailed information on each push, see theMariaDB 5.3.10 Changelog.
In most respects MariaDB will work exactly as MySQL: all commands, interfaces, libraries and APIs that exist in MySQL also exist in MariaDB.
This version of MariaDB includes the latest changes to MariaDB 5.2, and, by extension, MariaDB 5.1, including MySQL 5.1.66. SeeChanges in MySQL 5.1.66 for what changed between this and previous MySQL versions.
This MariaDB release includes several bug fixes and improvements. It is recommended for all users of MariaDB 5.3.
See the MariaDB 5.3.10 Changelog for a list of every change made in MariaDB 5.3.10, with links to detailed information on each push.
As with the previous version of MariaDB 5.3, this version includes alternative Linux binaries built on a different build machine. Binaries created on this box require at least GLIBC_2.14. For continuity, we are still providing binaries built with the same toolchain (and on the same builder) as previous releases. The alternative binaries have a "(GLIBC_2.14)" label to distinguish them from the others.
This page is licensed: CC BY-SA / Gnu FDL
The most recent release in the MariaDB 5.3 series is:MariaDB 5.3.12
Download |Release Notes |Changelog |Overview of 5.3
Release date: 02 Oct 2012
MariaDB 5.3.9 is a Stable (GA) release. In general this means that there are no known serious bugs, except for those marked as feature requests, that no bugs were fixed since last release that caused notable code changes, and that we believe the code is ready for general usage (based on bug inflow).
For a description of MariaDB 5.3 see theWhat is MariaDB 5.3 page.
For a list of changes made in MariaDB 5.3.9, with links to detailed information on each push, see theMariaDB 5.3.9 Changelog.
In most respects MariaDB will work exactly as MySQL: all commands, interfaces, libraries and APIs that exist in MySQL also exist in MariaDB.
This version of MariaDB includes the latest changes to MariaDB 5.2, and, by extension, MariaDB 5.1, including MySQL 5.1.65. SeeChanges in MySQL 5.1.65 for what changed between this and previous MySQL versions.
MariaDB 5.3.9 includes a fix for a bug with EXT3 and EXT4 filesystems which could result in data loss after a crash. We've reported the bug to the upstream filesystem maintainers and they will be fixing it in the Linux kernel. This fix is a workaround to fix the issue now, rather than waiting for the kernel-level fix. See MDEV-381 for more information.
This MariaDB release also includes several other bug fixes and improvements. It is recommended for all users of MariaDB 5.3.
See the MariaDB 5.3.9 Changelog for a list of every change made in MariaDB 5.3.9, with links to detailed information on each push.
This version of MariaDB includes alternative Linux binaries built on a different build machine. Binaries created on this box require at least GLIBC_2.14. For continuity, we are still providing binaries built with the same toolchain (and on the same builder) as previous releases. The alternative binaries have a "(GLIBC_2.14)" label to distinguish them from the others.
This page is licensed: CC BY-SA / Gnu FDL
The most recent release in the MariaDB 5.3 series is:MariaDB 5.3.12
Download |Release Notes |Changelog |Overview of 5.3
Release date: 28 Aug 2012
MariaDB 5.3.8 is a Stable (GA) release. In general this means that there are no known serious bugs, except for those marked as feature requests, that no bugs were fixed since last release that caused notable code changes, and that we believe the code is ready for general usage (based on bug inflow).
For a description of MariaDB 5.3 see theWhat is MariaDB 5.3 page.
For a list of changes made in MariaDB 5.3.8, with links to detailed information on each push, see theMariaDB 5.3.8 Changelog.
In most respects MariaDB will work exactly as MySQL: all commands, interfaces, libraries and APIs that exist in MySQL also exist in MariaDB.
This version of MariaDB includes the latest changes to MariaDB 5.2, and, by extension, MariaDB 5.1, including MySQL 5.1.65. SeeChanges in MySQL 5.1.65 for what changed between this and previous MySQL versions.
This release fixes numerous cases of the incorrect identifier quoting in the replication code. They were open SQL injection vulnerabilities, that allowed, to a certain extent, to bypass the database privilege system and modify the data, that one was granted no access to. See MDEV-382 (CVE-2012-4414) for details.
This MariaDB release includes several other bug fixes and improvements. It is recommended for all users of MariaDB 5.3.
See the MariaDB 5.3.8 Changelog for a list of every change made in MariaDB 5.3.8, with links to detailed information on each push.
In this version of MariaDB we are starting to provide alternative Linux binaries built on a different build machine. Binaries created on this box require at least GLIBC_2.14. For continuity, we are still providing binaries built with the same toolchain as previous releases. The alternative binaries have a "(GLIBC_2.14)" label to distinguish them from the others.
This page is licensed: CC BY-SA / Gnu FDL
The most recent release in the MariaDB 5.3 series is:MariaDB 5.3.12
Download |Release Notes |Changelog |Overview of 5.3
Release date: 4 May 2012
MariaDB 5.3.7 is a Stable (GA) release. In general this means that there are no known serious bugs, except for those marked as feature requests, that no bugs were fixed since last release that caused notable code changes, and that we believe the code is ready for general usage (based on bug inflow).
For a description of MariaDB 5.3 see theWhat is MariaDB 5.3 page.
For a list of changes made in MariaDB 5.3.7, with links to detailed information on each push, see theMariaDB 5.3.7 Changelog.
In most respects MariaDB will work exactly as MySQL: all commands, interfaces, libraries and APIs that exist in MySQL also exist in MariaDB.
This version of MariaDB includes the latest changes to MariaDB 5.2, and, by extension, MariaDB 5.1, including MySQL 5.1.62. See theMariaDB 5.2.12 Release Notes for the changes made in MariaDB 5.2.12 and seeChanges in MySQL 5.1.62 for what changed between this and previous MySQL versions.
See the MariaDB 5.3.7 Changelog for a list of every change made in MariaDB 5.3.7, with links to detailed information on each push.
This page is licensed: CC BY-SA / Gnu FDL
The most recent release in the MariaDB 5.3 series is:MariaDB 5.3.12
Download |Release Notes |Changelog |Overview of 5.3
Release date: 9 Apr 2012
MariaDB 5.3.6 is a Stable (GA) release. In general this means that there are no known serious bugs, except for those marked as feature requests, that no bugs were fixed since last release that caused notable code changes, and that we believe the code is ready for general usage (based on bug inflow).
For a description of MariaDB 5.3 see theWhat is MariaDB 5.3 page.
For a list of changes made in MariaDB 5.3.6, with links to detailed information on each push, see theMariaDB 5.3.6 Changelog.
In most respects MariaDB will work exactly as MySQL: all commands, interfaces, libraries and APIs that exist in MySQL also exist in MariaDB.
MariaDB 5.3.6 fixes a bug that under certain rare circumstances allowed a user to connect with an invalid password. This is a serious security issue. We recommend upgrading from older versions as soon as possible.
This version of MariaDB includes MariaDB 5.2.12, and, by extension, MariaDB 5.1.62 and MySQL 5.1.62. See the MariaDB 5.2.12 Release Notes for the changes made in MariaDB 5.2.12 and seeChanges in MySQL 5.1.62 for what changed between this and previous MySQL versions.
MariaDB 5.3.6 includes several performance improvements, including a fix for Bug #913030: "Optimizer chooses a suboptimal excution plan for Q18 from DBT-3".
MariaDB 5.3.6 also includes numerous bug fixes and enhancements, including:
adding Bug #956585 "Feature request - prevent truncating query in mytop" and a feature request to add 'reading of my.cnf files' to mytop (Thanks to Jean Weisbuch for the patch/suggestion.)
a patch for Bug #886479 "[PATCH] plugin boolean result" (Thanks to Maarten Vanraes for the patch)
a fix for Bug #970528 "Server crashes in my_strnncollsp_simple on LEFT JOIN with CSV table, TEXT field"
and many more...
See the MariaDB 5.3.6 Changelog for a list of every change made in MariaDB 5.3.6, with links to detailed information on each push.
This page is licensed: CC BY-SA / Gnu FDL
The most recent release in the MariaDB 5.3 series is:MariaDB 5.3.12
Download |Release Notes |Changelog |Overview of 5.3
Release date: 29 Feb 2012
MariaDB 5.3.5 is a Stable (or GA) release. In general this means that there are no known serious bugs, except for those marked as feature requests and no bugs were fixed since the last release which caused any notable code changes. We believe the code is ready for general usage (based on bug inflow).
For a detailed description of MariaDB 5.3 see the What is MariaDB 5.3 page.
Compared to previous releases in the MariaDB 5.3 series, MariaDB 5.3.5 is primarily a bug-fix release with a focus on stability, performance, and usability. It is first stable or GA release of the 5.3 series and the fifth overall release in the series.
Apart from fixing bugs found in the previous 5.3.x beta and rc releases, MariaDB 5.3.5 introduces counters for theMulti-Range Read andIndex Condition Pushdown optimizations.
For a list of every change made in MariaDB 5.3.5, with links to detailed information on each push, see theMariaDB 5.3.5 Changelog. It is worth noting thatMariaDB 5.3 is built on MariaDB 5.2,MariaDB 5.1, and MySQL 5.1.
In most respects MariaDB will work exactly as MySQL: all commands, interfaces, libraries and APIs that exist in MySQL also exist in MariaDB.
This page is licensed: CC BY-SA / Gnu FDL
The most recent release in the MariaDB 5.3 series is:MariaDB 5.3.12
Download |Release Notes |Changelog |Overview of 5.3
Release date: 15 Feb 2012
MariaDB 5.3.4 is a Release Candidate release. In general this means that there are no known serious bugs, except for those marked as feature requests and no bugs were fixed since the last release which caused any notable code changes. We believe the code is ready for general usage (based on bug inflow), but we want a short additional period of testing before calling it stable.
For a detailed description of MariaDB 5.3 see the What is MariaDB 5.3 page.
Compared to MariaDB 5.3.0, 5.3.1, 5.3.2, and 5.3.3, MariaDB 5.3.4 is a bug-fix release with a focus on stability, performance, and usability. It is the fourth release of the 5.3 series and fixes bugs found in the previous 5.3.x beta and rc releases.
For a list of every change made in MariaDB 5.3.4, with links to detailed information on each push, see theMariaDB 5.3.4 Changelog. It is worth noting thatMariaDB 5.3 is built on MariaDB 5.2,MariaDB 5.1, and MySQL 5.1.
In most respects MariaDB will work exactly as MySQL: all commands, interfaces, libraries and APIs that exist in MySQL also exist in MariaDB.
The Windows version of MariaDB 5.3.4-rc comes with HeidiSQL 7.0, which was released just a few days ago.
This page is licensed: CC BY-SA / Gnu FDL
The most recent release in the MariaDB 5.3 series is:MariaDB 5.3.12
Download |Release Notes |Changelog |Overview of 5.3
Release date: 21 Dec 2011
MariaDB 5.3.3 is a Release Candidate release. In general this means that there are no known serious bugs, except for those marked as feature requests and no bugs were fixed since last the release which caused any notable code changes. We believe the code is ready for general usage (based on bug inflow), but we want more testing before calling it stable.
MariaDB 5.3 radically improves performance for subqueries as well as for joins and single-table queries over large data sets.
For a detailed description of MariaDB 5.3 see the What is MariaDB 5.3 page.
Compared to MariaDB 5.3.0, 5.3.1, and 5.3.2, MariaDB 5.3.3 is a bug-fix release with a focus on stability, performance, and usability. It is the third beta release of the 5.3 series and fixes bugs found in the initial 5.3.0 and 5.3.1 beta releases.
New feature: GIS precise operations were added (Documentation is being worked on)
Stability: All known critical bugs have been fixed.
Performance:
More optimizer features have been thoroughly tested, and switched on by default:
Subquery materialization is now ON by default (materialization=on)
Semi-join optimizations is now ON by default (semijoin=on,firstmatch=on,loosescan=on)
Derived table optimization is now ON by default (derived_merge=on,derived_with_keys=on)
Index Condition Pushdown is now ON by default (index_condition_pushdown=on)
Nested loop join will use its Block-based variant more aggressively
Block-based join for OUTER JOINs is ON by default (outer_join_with_cache=on)
Block-based join for semi-joins is ON by default (semijoin_with_cache=on)
Linked join buffers (more aggressive buffering of multi-way joins) is ON by default (@@join_cache_level==2)
DISTINCT and GROUP BY clauses are removed from subqueries when possible. This allows for more efficient query plans (backported from MySQL 5.6)
Usability:
EXPLAIN output has been improved to be easier to understand
select_type
column now shows MATERIALIZED
for subqueries that are executed with Materialization (it used to show SUBQUERY
before which made it hard to distinguish materialized subqueries from other kinds subqueries.
For Duplicate Elimination strategy, Start temporary
is now shown at the first table from the subquery.
Other:
Ubuntu 11.10 "Oneiric" repositories are now available for MariaDB 5.3.3.
For a list of every change made in MariaDB 5.3.3, with links to detailed information on each push, see theMariaDB 5.3.3 Changelog. It is worth noting thatMariaDB 5.3 is built on MariaDB 5.2,MariaDB 5.1, and MySQL 5.1.
In most respects MariaDB will work exactly as MySQL: all commands, interfaces, libraries and APIs that exist in MySQL also exist in MariaDB.
This page is licensed: CC BY-SA / Gnu FDL
The most recent release in the MariaDB 5.3 series is:MariaDB 5.3.12
Download |Release Notes |Changelog |Overview of 5.3
Release date: 14 Oct 2011
MariaDB 5.3.2 is a Beta release. In general this means that there are no known serious bugs, except for those marked as feature requests. MariaDB 5.3 radically improves performance for subqueries as well as for joins and single-table queries over large data sets.
For a detailed description of MariaDB 5.3 see the What is MariaDB 5.3 page.
Compared to MariaDB 5.3.0 and 5.3.1, MariaDB 5.3.2 is mainly a bug-fix release. It is the third beta release of the 5.3 series and fixes bugs found in the initial 5.3.0 and 5.3.1 beta releases.
For a list of every change made in MariaDB 5.3.2, with links to detailed information on each push, see theMariaDB 5.3.2 Changelog. It is worth noting thatMariaDB 5.3 is built on MariaDB 5.2,MariaDB 5.1, and MySQL 5.1.
In most respects MariaDB will work exactly as MySQL: all commands, interfaces, libraries and APIs that exist in MySQL also exist in MariaDB.
Be notified of new releases automatically by adding thereleases rss feed to your favorite feed reader or by subscribing to the announce 'at' mariadb.org announcement list (this is a low traffic, announce-only list).
MariaDB may already be included in your favorite OS distribution. More information can be found on theDistributions which Include MariaDB page.
MariaDB 5.3.2-beta introduces the User Feedback plugin. This plugin is disabled by default. If enabled, it submits anonymous basic MariaDB usage information. This information will be used by the developers to track trends in MariaDB usage to better guide development efforts.
If you would like to help make MariaDB better, please add --plugin-load=feedback.so
to your my.cnf file! On Windows, add "feedback=ON" to your my.ini file, or click the checkbox during installation of the MSI package.
See the User Feedback plugin page for more information.
Starting in MariaDB 5.3.2-beta, the Subquery cache is on by default. In previous versions of MariaDB the cache was off by default.
The goal of the subquery cache is to optimize the evaluation of correlated subqueries by storing results together with correlation parameters in a cache and avoiding re-execution of the subquery in cases where the result is already in the cache.
See the Subquery cache page for more information.
This page is licensed: CC BY-SA / Gnu FDL
The most recent release in the MariaDB 5.3 series is:MariaDB 5.3.12
Download |Release Notes |Changelog |Overview of 5.3
Release date: 10 Sep 2011
MariaDB 5.3.1 is a Beta release. In general this means that there are no known serious bugs, except for those marked as feature requests. MariaDB 5.3 radically improves performance for subqueries as well as for joins and single-table queries over large data sets.
For a detailed description of MariaDB 5.3 see the What is MariaDB 5.3 page.
Compared to MariaDB 5.3.0, MariaDB 5.3.1 is a bug-fix release. It is the second beta release of the 5.3 series and fixes bugs found in the initial 5.3.0 beta release.
For a list of every change made in MariaDB 5.3.1, with links to detailed information on each push, see theMariaDB 5.3.1 Changelog. It is worth noting thatMariaDB 5.3 is built on MariaDB 5.2,MariaDB 5.1, and MySQL 5.1.
In most respects MariaDB will work exactly as MySQL: all commands, interfaces, libraries and APIs that exist in MySQL also exist in MariaDB.
This page is licensed: CC BY-SA / Gnu FDL
The most recent release in the MariaDB 5.3 series is:MariaDB 5.3.12
Download |Release Notes |Changelog |Overview of 5.3
Release date: 26 July 2011
MariaDB 5.3.0 is a Beta release. In general this means that there are no known serious bugs, except for those marked as feature requests. MariaDB 5.3 radically improves performance for subqueries as well as for joins and single-table queries over large data sets.
For a detailed description of MariaDB 5.3 see the What is MariaDB 5.3 page.
For a list of every change made in MariaDB 5.3.0, including the various bugs that were fixed and links to detailed information on each push, see the MariaDB 5.3.0 Changelog. These changes are compared against MariaDB 5.2, and it is worth noting that MariaDB 5.3 is based on the MySQL 5.1 releases.
In most respects MariaDB will work exactly as MySQL: all commands, interfaces, libraries and APIs that exist in MySQL also exist in MariaDB.
Be notified of new releases automatically by adding thereleases rss feed to your favorite feed reader or by subscribing to the announce 'at' mariadb.org announcement list (this is a low traffic, announce-only list).
A few highlights (for a more detailed list, please see the What is MariaDB 5.3 page) in MariaDB 5.3.0 follow:
One of the major performance improvements in MariaDB 5.3.0 is that subqueries are finally usable in practice. It is no longer necessary to rewrite subqueries manually into joins or separate queries. The optimizer of MariaDB 5.3 will do this, and more automatically. EXPLAIN for derived tables and materialized views is instantaneous. Both derived tables and views can be optimized by indexes created on the fly.
MariaDB now supports many join optimizations, including utilizing the Block Nested Loop algorithm that can be used for outer joins, Classic Hash Join which can be used for equi-joins, and Batch Key Access joins are supported providing the benefits of ordered retrievals for primary and secondary keys provided by the new implementation of Multi-Range-Read (MRR) optimizations. MariaDB also features Index Condition Pushdown.
NoSQL is all the rage these days and MariaDB 5.3.0 ships with the HandlerSocket plugin.
Dynamic columns allows you to have a different set of "virtual columns" for each row in your table. You can at any time add or remove columns from a row.
MariaDB 5.3 implements group commit which works when using XtraDB with the binary log enabled.
Microsoft Windows performance improvements from MySQL 5.5 have been backported, including benefits to the XtraDB storage engine.
This page is licensed: CC BY-SA / Gnu FDL