23.1.1: Which version of MySQL is production-ready (GA)?
23.1.2: Can MySQL 5.1 do subqueries?
23.1.3: Can MySQL 5.1 perform multiple-table inserts, updates, and deletes?
23.1.4: Does MySQL 5.1 have a Query Cache? Does it work on Server, Instance or Database?
23.1.5: Does MySQL 5.1 have Sequences?
23.1.7: Does MySQL 5.1 work with multi-core processors?
Why do I see multiple processes for
23.1.9: Is there a hot backup tool for MyISAM like InnoDB Hot Backup?
23.1.10: Have there been there any improvements in error reporting when foreign keys fail? Does MySQL now report which column and reference failed?
23.1.11: Can MySQL 5.1 perform ACID transactions?
Questions and Answers
Currently, both MySQL 5.0 and MySQL 5.1 are supported for production use.
MySQL 5.0 achieved General Availability (GA) status with MySQL 5.0.15, which was released for production use on 19 October 2005.
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.4 was a development series. Work on this series has ceased.
Development work on MySQL 5.5 has started; currently, MySQL 5.5 is in beta status.
Development work on MySQL 6.0 has started; currently, MySQL 6.0 is in alpha status.
Yes. See Section 12.2.9, “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 7.5.5, “The MySQL Query Cache”.
No. However, MySQL has an
system, which in MySQL 5.1 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.1 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 10.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.
This is currently under development for a future MySQL release.
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
NDB storage engine supports the
READ COMMITTED transaction
isolation level only.