Spec-Zone .ru
спецификации, руководства, описания, API
|
Questions
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.7: Does MySQL 5.6 have a
NOW()
function with
fractions of seconds?
B.1.8: Does MySQL 5.6 work with multi-core processors?
B.1.9: Why do I see multiple
processes for mysqld
?
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
B.1.1: Which version of MySQL is production-ready (GA)?
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.
B.1.2: What is the state of development (non-GA) versions?
MySQL follows a milestone release model that introduces pre-production-quality features and stabilizes them to
release quality (see
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.
B.1.3: Can MySQL 5.6 do subqueries?
Yes. See Section 13.2.10, "Subquery Syntax".
B.1.4: Can MySQL 5.6 perform multiple-table inserts, updates, and deletes?
Yes. For the syntax required to perform multiple-table updates, see Section
13.2.11, "UPDATE
Syntax"; for that required to perform multiple-table deletes,
see Section 13.2.2, "DELETE
Syntax".
A multiple-table insert can be accomplished using a trigger whose FOR EACH ROW
clause contains multiple INSERT
statements within a BEGIN ... END
block.
See Section 19.3, "Using
Triggers".
B.1.5: Does MySQL 5.6 have a Query Cache? Does it work on Server, Instance or Database?
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".
B.1.6: Does MySQL 5.6 have Sequences?
No. However, MySQL has an AUTO_INCREMENT
system, which in MySQL 5.6 can also handle
inserts in a multi-master replication setup. With the auto_increment_increment
and auto_increment_offset
system variables, you can set each server to generate
auto-increment values that don't conflict with other servers. The auto_increment_increment
value should be greater than the number of servers,
and each server should have a unique offset.
B.1.7:
Does MySQL 5.6 have a NOW()
function with fractions of seconds?
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 TIME
Type".
B.1.8: Does MySQL 5.6 work with multi-core processors?
Yes. MySQL is fully multi-threaded, and will make use of multiple CPUs, provided that the operating system supports them.
B.1.9: Why
do I see multiple processes for mysqld
?
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.
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?
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 specific implementation.
B.1.11: Can MySQL 5.6 perform ACID transactions?
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 levels.
The NDB
storage engine supports the READ COMMITTED
transaction isolation level only.