Related Documentation Download this Manual
PDF (US Ltr) - 35.0Mb
PDF (A4) - 35.1Mb
Man Pages (TGZ) - 255.4Kb
Man Pages (Zip) - 360.2Kb
Info (Gzip) - 3.4Mb
Info (Zip) - 3.4Mb
Excerpts from this Manual

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.3 and 8.0 are actively supported for production use.

MySQL 8.1 was the first Innovation release, which was released for production use on 18 July 2023. The Innovation release track begins with 8.1.0 and will likely continue incrementing the minor version as 8.2.0 and 8.3.0 until 8.4.0 begins a new LTS series. Innovation releases contain new features and bug fixes.

MySQL 8.0 achieved General Availability (GA) status with MySQL 8.0.11, which was released for production use on 19 April 2018. It became a bugfix series as of MySQL 8.0.34 with the introduction of the Innovation release track.

MySQL 5.7 achieved General Availability (GA) status with MySQL 5.7.9, which was released for production use on 21 October 2015. Active development for MySQL 5.7 ended on 25 October 2023 with the MySQL 5.7.44 release.

MySQL 5.6 achieved General Availability (GA) status with MySQL 5.6.10, which was released for production use on 5 February 2013. Active development for MySQL 5.6 has ended.

MySQL 5.5 achieved General Availability (GA) status with MySQL 5.5.8, which was released for production use on 3 December 2010. Active development for MySQL 5.5 has ended.

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-source 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 makes use of all CPUs made available to it. Not all CPUs may be available; modern operating systems should be able to utilize all underlying CPUs, but also make it possible to restrict a process to a specific CPU or sets of CPUs.

On Windows, there is currently a limit to the number of (logical) processors that mysqld can use: a single processor group, which is limited to a maximum of 64 logical processors.

Use of multiple cores may be seen in these ways:

  • A single core is usually used to service the commands issued from one session.

  • A few background threads make limited use of extra cores; for example, to keep background I/O tasks moving.

  • If the database is I/O-bound (indicated by CPU consumption less than capacity), adding more CPUs is futile. If the database is partitioned into an I/O-bound part and a CPU-bond part, adding CPUs may still be useful.

A.1.8.

Why do I see multiple processes for mysqld?

mysqld is a single-process program, not a multi-process program, and does not fork or launch other processes. However, mysqld is multithreaded and some process-reporting system utilities display separate entries for each thread of multithreaded processes, which may lead to the appearance of multiple mysqld processes when in fact there is only one.

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.