English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
MySQL development team on 12 announced MySQL 8.0.0 Development Milestone Release (DMR) was announced! Some may be surprised why MySQL 5.x was jumped to 8.0. In fact, MySQL 5.x series has been in existence for many years, it was already 5.1, and has been maintained at 5.x, for example 5.5,5.6,5.7 And so on. In fact, if the original release rhythm was maintained, it could be 5.6.x as 6.x,5.7.x as 7.x. So, it's just a change in the version naming method.
However, this time the released MySQL 8.0.0 development version still has many highlights.
MySQL 8.0.0 highlights
Transactional data dictionary, completely independent of the MyISAM storage engine
The data dictionary is truly placed in some tables of InnoDB, and from now on, there is no longer a need for FRM, TRG, PAR files! Information Schema now appears as a view of the data dictionary table. In principle, MyISAM data table types can be completely eliminated, and all system tables can be placed in InnoDB.
SQL roles
A role is a collection of permissions. Roles can be created, and roles can be granted to and removed from a user. This is very convenient for permission management.
utf8mb4 character set will become the default character set and support Unicode 9
The default character set will be latin1 changed to utf8mb4, the default sorting collation will be from latin1_swedish_ci changed to utf8mb4_800_ci_ai.
Invisible indexes
Some indexes can be set as invisible, so the SQL optimizer will not use it, but it will continue to keep updating in the background. It can be made visible at any time when needed.
bit operations can be performed on binary data
Not only can bit operations be performed on BIGINT, from 8.0 also supports [VAR]BINARY/[TINYMEDIUMLONG]BLOB bit operations.
Improved IPv6 operations with UUID
INET6_ATON () and INET6_NTOA () can now perform bit operations because INET6_ATON () now returns VARBINARY (16data type (128 bit). Improved UUID operations, introducing three new functions UUID_TO_BIN (), BIN_TO_UUID (), and IS_UUID(). MySQL does not have a special IPv6 Instead of the UUID data type, it is saved as VARBINARY (16saved in the data type.
Persistent global variables
Persistent global variables can be set using SET PERSIST, even after a restart, they will remain.
Improvements to the Performance Schema
For example, performance databases have been added 100 multiple indexes, enabling faster retrieval.
Refactoring the SQL analyzer
Continuously improving the SQL analyzer. The old analyzer has serious limitations due to its complex syntax and top-down analysis method, making it difficult to maintain and extend.
Cost Model
The InnoDB buffer pool can now estimate how many tables and indexes are in the main memory cache area, which allows the optimizer to know whether the data can be stored in memory or must be stored on disk when choosing the access method.
Histograms Histograms
By using histograms, users or DBAs can perform statistical analysis on data distribution, which can be used for query optimization to find optimized query solutions.
Improved Scan Performance
Improved the performance of InnoDB range queries, which can improve full table queries and range queries 5-20% performance.
Refactoring BLOB
Refactoring BLOB Accelerates Fragment Reading/Update operation, which can accelerate the operation of JSON data.
Persistence of the Increment Value
InnoDB will persistently keep the maximum value of the auto-increment sequence in the redo log. This improvement also fixes a very old 199 bug number.
Temporary Tables
Cancel the support for compressed temporary tables and store the metadata of temporary tables in memory.
Other more important improvements and details, please refer to MySQL 8.0.0 Announce the notice[1] and[2] .
download
Currently 8.0.0 Whether it is a development version, if you want to experience and test the latest features, you can start from dev.mysql.com[3] Download installation packages for various platforms. However, the MySQL software package is getting bigger and bigger, and the binary package on the Linux platform is nearly 1 GB. If it is used in a product environment, in 8.0 Before it enters the stable version, please continue to use 5.7 series, the latest version is 5.7.15 GA version - this is only 600 M more.
The latest source code is placed inGitHub Above, interested friends can go and take a look, among which there are many contributions from Chinese people.
[1]: http://dev.mysql.com/doc/relnotes/mysql/8.0/en/
[2]: http://mysqlserverteam.com/the-mysql-8-0-0-milestone-release-is-available/
[3]: http://dev.mysql.com/downloads/mysql/