MySQL 8.0 is a big release with a host of new features, performance improvements, and stability enhancements.
MySQL remains the default data store for many of the most widely used web applications, including WordPress and Magento, so it’s worth paying attention when such a popular project releases a major new version.
The default character set in MySQL 8 is uft8mb4. In older versions it was latin 1. UTF8 is a standard encoding and most of the web uses it. The mismatch between database encoding and the encoding most programming languages and developers use caused many problems.
The move to UTF8 will make life easier for developers and improve MySQL’s text handling and full-text search capabilities.
The web is a document-based medium. Traditional relational database structures often sit awkwardly with the web’s unstructured data and document-centered model. That lack of harmony was a major factor in the rise of NoSQL databases like MongoDB.
The release of MySQL 8 introduces a NoSQL document store so that developers can choose MySQL for both traditional relational databases and schema-free document databases
In addition to NoSQL capabilities, MySQL 8 brings a host of improvements to JSON handling. There are too many new JSON-focused features to mention all of them here, but the highlights include JSON table, aggregation, and merge functions; improved sorting and grouping; and transactional consistency that enables rollback operations on JSON data.
The headline performance figure for MySQL is “up to 2x faster than MySQL 5.7”. That doesn’t mean much because database performance is so dependent on context, but a lot of attention has been paid to improving performance for IO-bound workloads, read/write workloads, and high-contention “hot row” workloads.
We’ve covered just a few of the most important new features in MySQL 8 here. There are many more, including support for geospatial data, window functions, and recursive common table expressions.
We recommend to migrate for MySQL 8.0 now!