B.1.1: Which version of MySQL is production-ready (GA)?
B.1.2: What is the state of development (non-GA) versions?
B.1.3: Can MySQL 5.6 do subqueries?
B.1.4: Can MySQL 5.6 perform multiple-table inserts, updates, and deletes?
B.1.5: Does MySQL 5.6 have a Query Cache? Does it work on Server, Instance or Database?
B.1.6: Does MySQL 5.6 have Sequences?
B.1.8: Does MySQL 5.6 work with multi-core processors?
Why do I see multiple processes for
B.1.10: Have there been there any improvements in error reporting when foreign keys fail? Does MySQL now report which column and reference failed?
B.1.11: Can MySQL 5.6 perform ACID transactions?
Questions and Answers
MySQL 5.6, MySQL 5.5, MySQL 5.1, and MySQL 5.0 are supported for production use.
MySQL 5.6 achieved General Availability (GA) status with MySQL 5.6.10, which was released for production use on 5 February 2013.
MySQL 5.5 achieved General Availability (GA) status with MySQL 5.5.8, which was released for production use on 3 December 2010.
MySQL 5.1 achieved General Availability (GA) status with MySQL 5.1.30, which was released for production use on 14 November 2008.
MySQL 5.0 achieved General Availability (GA) status with MySQL 5.0.15, which was released for production use on 19 October 2005. Note that active development for MySQL 5.0 has ended.
MySQL follows a milestone release model that introduces pre-production-quality features and stabilizes them to release quality (see http://dev.mysql.com/doc/mysql-development-cycle/en/index.html). This process then repeats, so releases cycle between pre-production and release quality status. Please check the change logs to identify the status of a given release.
MySQL 5.4 was a development series. Work on this series has ceased.
MySQL 5.7 is being actively developed using the milestone release methodology described above.
MySQL 6.0 was a development series. Work on this series has ceased.
Yes. See Section 13.2.10, “Subquery Syntax”.
Yes. The query cache operates on the server level, caching complete result sets matched with the original query string. If an exactly identical query is made (which often happens, particularly in web applications), no parsing or execution is necessary; the result is sent directly from the cache. Various tuning options are available. See Section 8.9.3, “The MySQL Query Cache”.
No. However, MySQL has an
system, which in MySQL 5.6 can also handle inserts
in a multi-master replication setup. With the
variables, you can set each server to generate auto-increment
values that don't conflict with other servers. The
should be greater than the number of servers, and each server
should have a unique offset.
Does MySQL 5.6 have a
NOW() function with fractions of
No. This is on the MySQL roadmap as a “rolling feature”. This means that it is not a flagship feature, but will be implemented, development time permitting. Specific customer demand may change this scheduling.
However, MySQL does parse time strings with a fractional
component. See Section 11.3.2, “The
Yes. MySQL is fully multi-threaded, and will make use of multiple CPUs, provided that the operating system supports them.
When using LinuxThreads, you should see a minimum of three mysqld processes running. These are in fact threads. There is one thread for the LinuxThreads manager, one thread to handle connections, and one thread to handle alarms and signals.
The foreign key support in
InnoDB has seen
improvements in each major version of MySQL. Foreign key support
generic to all storage engines is scheduled for MySQL 6.x; this
should resolve any inadequacies in the current storage engine
Yes. All current MySQL versions support transactions. The
InnoDB storage engine offers full ACID
transactions with row-level locking, multi-versioning,
nonlocking repeatable reads, and all four SQL standard isolation