Channels

Services

Oracle's MySQL 5.6 released

Just over two years after the release of MySQL 5.5, the developers at Oracle have released a GA (General Availability) version of Oracle MySQL 5.6, labelled MySQL 5.6.10. In MySQL 5.5, the developers replaced the old MyISAM backend and used the transactional InnoDB as the default for database tables. With 5.6, the retrofitting of full-text search capabilities has enabled InnoDB to now take on the position of default storage engine for all purposes.

Accelerating the performance of sub-queries was also a focus of development; they are now run using a process of semi-joins and materialise much faster; this means it should not be necessary to replace subqueries with joins. Many operations that change the data structures, such as ALTER TABLE, are now performed online, which avoids long downtimes. EXPLAIN also gives information about the execution plans of UPDATE, DELETE and INSERT commands. Other optimisations of queries include changes which can eliminate table scans where the query has a small LIMIT value.

MySQL's row-oriented replication now supports "row image control" which only logs the columns needed to identify and make changes on each row rather than all the columns in the changing row. This could be particularly expensive if the row contained BLOBs, so this change not only saves disk space and other resources but it can also increase performance. "Index Condition Pushdown" is a new optimisation which, when resolving a query, attempts to use indexed fields in the query first, before applying the rest of the WHERE condition.

MySQL 5.6 also introduces a "NoSQL interface" which uses the memcached API to offer applications direct access to the InnoDB storage engine while maintaining compatibility with the relational database engine. That underlying InnoDB engine has also been enhanced with persistent optimisation statistics, multithreaded purging and more system tables and monitoring data available.

Oracle's VP MySQL Engineering, Tomas Ulin, explained that Oracle is not looking to change its strategy over patches; this has been criticised in the open source community. It has been a proven process, he says, to supply security updates every three months since most customers don't update that often. Users of the free community version of MySQL complain, among other things, of the lack of references to official CVE numbers in the release notes for MySQL versions, with only pointers to Oracle internal error codes. Details of publicly available exploits will not be published by the company, said Ulin.

Further information about the new features and enhancements of MySQL 5.6 is available in the release notes. Oracle MySQL 5.6.10 is available to download as the GPL licensed community edition for Windows, Debian, SUSE Linux Enterprise Server, Red Hat Linux, Oracle Linux, Solaris and Mac OS X.