MySQL is an open-source relational database management system widely used by developers and organizations to store and manage data. Version 8.0, released in April 2018, comes with a wide range of new features that have been well received by the MySQL community. In this post, we explore some of the most loved additions.
A powerful SQL feature that lets developers perform calculations across multiple rows. For example, ROW_NUMBER() assigns a unique row number to each row in a result set, while RANK() assigns a rank based on given criteria.
CTEs let developers define a temporary result set that can be referenced multiple times in a query, making it easier to write complex and recursive queries.
Create columns that don't appear in a SELECT * query — useful for administrative metadata or performance-related columns not meant for end users.
A wide range of new JSON functions, including JSON_OBJECT() for creating JSON objects from SQL data and JSON_TABLE() for extracting data from JSON, with faster parsing and indexing.
The InnoDB storage engine gained faster locking, better scalability, and improved crash recovery, alongside a smarter optimizer with better index and join algorithms.
Improved password handling, support for TLS 1.3, better auditing, and support for roles that make managing permissions easier.
Create indexes not used by the optimizer — ideal for testing the impact of a new index on query performance without touching production.
Support for multi-source replication, improved conflict detection, better performance, and new utilities for managing replication.
MySQL 8.0 is a significant update to the popular database management system, packing in a number of new features that have been well received by the MySQL community.