A.1 MySQL 5.7 FAQ: General

A.1.1. Which version of MySQL is production-ready (GA)?
A.1.2. Can MySQL 5.7 do subqueries?
A.1.3. Can MySQL 5.7 perform multiple-table inserts, updates, and deletes?
A.1.4. Does MySQL 5.7 have a Query Cache? Does it work on Server, Instance or Database?
A.1.5. Does MySQL 5.7 have Sequences?
A.1.6. Does MySQL 5.7 have a NOW() function with fractions of seconds?
A.1.7. Does MySQL 5.7 work with multi-core processors?
A.1.8. Why do I see multiple processes for mysqld?
A.1.9. Can MySQL 5.7 perform ACID transactions?

A.1.1.

Which version of MySQL is production-ready (GA)?

MySQL 8.0, 5.7, and MySQL 5.6 are supported for production use.

MySQL 8.0 achieved General Availability (GA) status with MySQL 8.0.11, which was released for production use on 19 April 2018.

MySQL 5.7 achieved General Availability (GA) status with MySQL 5.7.9, which was released for production use on 21 October 2015.

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. The MySQL 5.5 series is no longer current, but still supported in production.

MySQL 5.1 achieved General Availability (GA) status with MySQL 5.1.30, which was released for production use on 14 November 2008. Active development for MySQL 5.1 has ended.

MySQL 5.0 achieved General Availability (GA) status with MySQL 5.0.15, which was released for production use on 19 October 2005. Active development for MySQL 5.0 has ended.

A.1.2.

Can MySQL 5.7 do subqueries?

Yes. See Section 13.2.10, “Subqueries”.

A.1.3.

Can MySQL 5.7 perform multiple-table inserts, updates, and deletes?

Yes. For the syntax required to perform multiple-table updates, see Section 13.2.11, “UPDATE Statement”; for that required to perform multiple-table deletes, see Section 13.2.2, “DELETE Statement”.

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 23.3, “Using Triggers”.

A.1.4.

Does MySQL 5.7 have a Query Cache? Does it work on Server, Instance or Database?

Yes. (However, the query cache is deprecated as of MySQL 5.7.20, and is removed in MySQL 8.0.) 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.10.3, “The MySQL Query Cache”.

A.1.5.

Does MySQL 5.7 have Sequences?

No. However, MySQL has an AUTO_INCREMENT system, which in MySQL 5.7 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.

A.1.6.

Does MySQL 5.7 have a NOW() function with fractions of seconds?

Yes, see Section 11.2.7, “Fractional Seconds in Time Values”.

A.1.7.

Does MySQL 5.7 work with multi-core processors?

Yes. MySQL is fully multithreaded, and will make use of multiple CPUs, provided that the operating system supports them.

A.1.8.

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.

A.1.9.

Can MySQL 5.7 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.