MySQL 8.0 official version 8.0.11 has been released. Officially, MySQL 8 is 2 times faster than MySQL 5.7, and it also brings a lot of improvements and faster performance!
Recommended Manual: MySQL Development Manual
Note: Upgrading from MySQL 5.7 to MySQL 8.0 only supports the in-place method Upgrading, and downgrading from MySQL 8.0 to MySQL 5.7 (or from a MySQL 8.0 version to any earlier MySQL 8.0 version) is not supported. The only supported alternative is to back up your data before upgrading.
Recommended courses:MySQL Tutorial.
MySQL 8.0 is a very exciting new version of the world’s most popular open source database, with improvements across the board. Some key enhancements include:
SQL window functions, common table expressions, NOWAIT and SKIP LOCKED, descending indexes, grouping, regular expressions, character sets, cost models and histograms.
JSON extended syntax, new features, improved sorting and partial updates. Using JSON table functions, you can use the SQL mechanism of JSON data.
GIS geography support. Spatial Reference System (SRS), and SRS-aware spatial data types, spatial indexes, and spatial functions.
Reliability DDL statements have been made atomic and crash-safe, with metadata stored in a single transaction data dictionary. Powered by InnoDB!
Significant enhancements to the observability performance architecture, information architecture, configuration variables and error logging.
Manageability remote management, undo tablespace management and new instant DDL.
Security OpenSSL improvements, new default authentication, SQL roles, split super privileges, password strength and more.
Performance InnoDB is significantly better for read/write workloads, IO bound workloads, and high contention "hotspot" workloads. Added resource group functionality to give users an option to optimize for specific workloads on specific hardware by mapping user threads to CPUs
Some highlights are described above, I encourage you to drill down further to complete A series of milestone blog posts - 8.0.0, 8.0.1, 8.0.2, 8.0.3 and 8.0.4 - and even further down to individual working logs and their specifications and implementation details. Or maybe you just want to take a look at the source code at github.com/mysql.
Developer Features
MySQL developers demand new features, and MySQL 8.0 provides many new and more requested features in areas such as SQL, JSON, regular expressions, and GIS. Developers also want to be able to store Emojis, so UTF8MB4 is now the default character set in 8.0. Finally, data types have been improved, with bitwise operations on the BINARY data type, and improved IPv6 and UUID functionality.
The following is a brief introduction to the new features and improvements worth noting in MySQL 8.
1. Performance: MySQL 8.0 is 2 times faster than MySQL 5.7. MySQL 8.0 brings better performance in read/write workloads, IO-intensive workloads, and high contention ("hot spot" workloads) workloads.
2. NoSQL: MySQL has provided NoSQL storage functions since version 5.7, and this part of the functionality has also been greatly improved in version 8.0. This feature eliminates the need for a standalone NoSQL document database, and the MySQL document store provides multi-document transaction support and full ACID compliance for schema-less JSON documents.
3. Window Functions: Starting from MySQL 8.0, there is a new concept called window functions, which can be used to implement several new query methods. The window function is similar to aggregate functions such as SUM() and COUNT(), but it does not merge multi-row query results into one row, but puts the results back into multiple rows. That is, window functions do not require GROUP BY.
4. Hidden index: In MySQL 8.0, indexes can be "hidden" and "shown". When an index is hidden, it is not used by the query optimizer. We can use this feature for performance debugging, for example, we can hide an index and then observe its impact on the database. If the database performance decreases, it means that the index is useful, and then it can be "restored to display"; if the database performance does not change, it means that the index is redundant and you can consider deleting it.
5. Descending index: MySQL 8.0 provides support for sorting in descending order for indexes, and the values in this index will also be sorted in descending order.
6. Common Table Expressions CTE: When using embedded tables in complex queries, using CTE makes the query statement clearer.
7. UTF-8 encoding: Starting from MySQL 8, use utf8mb4 as the default character set for MySQL.
8. JSON: MySQL 8 greatly improves its support for JSON, adding the JSON_EXTRACT() function to extract data from JSON fields based on path query parameters, and the JSON_ARRAYAGG for combining data into JSON arrays and objects respectively. () and JSON_OBJECTAGG() aggregate functions.
9. Reliability: InnoDB now supports the atomicity of table DDL, that is, DDL on InnoDB tables can also achieve transaction integrity, either failed rollback or successful submission, so that partial success will not occur when DDL occurs problem, in addition to supporting crash-safe features, metadata is stored in a single transaction data dictionary.
10. High Availability: InnoDB cluster provides an integrated native HA solution for your database.
11. Security: Improvements to OpenSSL, new default authentication, SQL roles, password strength, authorization.
Recommended related articles:
1. Which version of mysql is better
2. How to check the version of mysql?
Related video recommendations:
1. MySQL Authoritative Development Guide (Tutorial)
The above is the detailed content of What is the latest version of mysql. For more information, please follow other related articles on the PHP Chinese website!