Home >Database >Mysql Tutorial >MySQL 8.0.0 development milestone version released!_MySQL
The MySQL development team announced the release of MySQL 8.0.0 development milestone version (DMR) on the 12th! Some people may be surprised why MySQL jumped from 5.x to 8.0. In fact, the MySQL 5.x series has continued for many years, starting from 5.1 before being acquired by Oracle, and has remained at 5.x since the acquisition, such as 5.5, 5.6, 5.7 and so on. In fact, if you follow the original release rhythm, you can think of 5.6.x as 6.x and 5.7.x as 7.x. Therefore, we just changed the version naming method.
However, the MySQL 8.0.0 development version released this time still has many highlights.
MySQL 8.0.0 Highlights
Transactional data dictionary, completely separated from the MyISAM storage engine
Really put the data dictionary into some tables in InnoDB, and no longer need FRM, TRG, and PAR files! Information Schema now appears as a view of the data dictionary tables. In principle, there is no need for the MyISAM data table type at all, and all system tables can be placed in InnoDB.
SQL Role
A role is a collection of permissions. You can create roles, grant and remove roles to a user. This is convenient for permission management.
utf8mb4 character set will become the default character set and support Unicode 9
The default character set will be changed from latin1 to utf8mb4, and the default collation will be changed from latin1_swedish_ci to utf8mb4_800_ci_ai.
Invisible index
Some indexes can be made invisible so that the SQL optimizer won't use it, but it will continue to be updated in the background. Visibility can be restored at any time when needed.
Bit operations can be performed on binary data
Not only can you perform bit operations on BIGINT, but also supports bit operations on [VAR]BINARY/[TINYMEDIUMLONG]BLOB starting from 8.0.
Improved operation with IPv6 and UUID
INET6_ATON () and INET6_NTOA () can now perform bit operations, because INET6_ATON () now returns the VARBINARY (16) data type (128 bits). UUID operations have been improved with the introduction of three new functions UUID_TO_BIN (), BIN_TO_UUID () and IS_UUID (). MySQL does not have special IPv6 and UUID data types, but is stored in the VARBINARY (16) data type.
Persistent global variables
You can use SET PERSIST to set persistent global variables, which will be retained even if restarted.
Improvements of performance database Performance Schema
For example, more than 100 indexes have been added to the performance database to enable faster retrieval.
Refactor SQL parser
Continuous and gradual improvement of SQL analyzer. The old parser had severe limitations due to its syntactic complexity and top-down parsing approach, making it difficult to maintain and extend.
Cost Model
InnoDB buffers can now estimate how many tables and indexes are in the main memory cache, which allows the optimizer to know whether the data can be stored in memory or must be stored on disk when choosing an access method.
Histograms
By using histograms, users or DBAs can make statistics on data distribution, which can be used in query optimization to find optimized query solutions.
Improve scanning performance
Improved the performance of InnoDB range queries, which can improve the performance of full table queries and range queries by 5-20%.
Reconstruct BLOB
Refactoring BLOB speeds up fragment read/update operations, which can speed up JSON data operations.
Persistent self-increasing value
InnoDB will persist the maximum value of the auto-increment sequence to the redo log. This improvement also fixes a very old bug #199.
Temporary table
Remove support for compressed temporary tables and store temporary table metadata in memory.
For more important improvements and details, please refer to the MySQL 8.0.0 release announcements [1] and [2].
Download
At present, 8.0.0 is still a development version. If you want to experience and test the latest features, you can download the installation packages for each platform from dev.mysql.com[3]. However, the MySQL software package is getting larger and larger, and the binary package on the Linux platform is nearly 1 GB. If used in a production environment, please continue to use the 5.7 series before 8.0 enters the stable version. The latest version is the 5.7.15 GA version - which is only more than 600 M.
The latest source code is on GitHub. Interested friends can check it out. Many of them are 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/