Article Complete
AIM
14 New Features in MySQL 8
14 New Features in MySQL 8

14 New Features in MySQL 8

Published Updated

Key takeaways

  • MySQL 8.0 aims to enhance functionality for modern applications and remains a leading open source Database Management system.
  • The transactional data dictionary is now stored in InnoDB tables, improving performance and resiliency.
  • Enhanced JSON support includes new path expression ranges and various performance optimisations.
  • Persistent runtime configuration allows settings to survive restarts, improving database management.
  • The Document Store feature offers NoSQL capabilities while maintaining transactional semantics, making MySQL more versatile.
5 min

MySQL 8.0 Features you Should Know

MySQL 8.0 is released and developers can take the sneak peak of its new features. The goal behind releasing MySQL 8.0 is making MySQL better for use for modern apps. If we conduct a debate, we will conclude that MySQL is the most popular open source DataBase Management system that has introduced latest improvements. Out of some enhancements, a few are already anticipated by popular forks, such as MariaDB and Percona.

1. Transactional Data Dictionary

Storing dictionary on disk was a good idea earlier when MySQL was introduced, but things have changed today. Dictionary will now get stored in InnoDB tables. New advancements will enhance performance and increase the resiliency of the database.

2. Enhanced JSON support

Ranges are now supported by JSON path expressions. A lot more other optimization and performance improvements are added to the update.

4. Persistent runtime configuration

SET PERSIST lets runtime configuration to be reserved and survived a restart. In earlier versions alterations made with SET GLOBAL would be discarded during restart.

5. Document Store

Document Store of MySQL allows the user to treat MySQL as a document database, with a set of NoSQL CRUD APIs for accessing data. Document store was first released in MySQL 5.7 version and today it offers consistent reads-and-writes. This feature makes the MySQL more advantageous over other NoSQL databases in which developers don’t have to give up transactional semantics. The User can even access the data created in the Document Store through the regular MySQL SQL protocol.

6. Auto_increment counter persistence over restart

Auto-increment counters values will be stored in the redo log in MySQL 8.0 version and this allows retrieval upon restart.

7. CTEs and Window functions

MySQL has implemented CTEs (Common Table Expressions) or recursive queries along with Window functions.

8. Optimizer Hints

Optimizer hints are the better solution to the optimizer_switch variable. In older versions of MySQL, the user had to call optimizer_ switch before each query to control the optimizer behavior as it would affect each subsequent query. Now user can control optimizer behavior with hints on a per-query basis.

9. Better handling of hot rows and Unicode 9.0 update

New lock modifiers i.e. SKIP, LOCKED, and NOWAIT has been implemented and Unicode 9.0 support has been introduced.

10. SQL roles

Roles are named collections of privileges (SELECT, INSERT, etc.) that offer convenient permissions management. Roles can be created, dropped and offered to users.

11. Cloud-friendly

The new option availability of innodb_dedicated_server, the user can now auto-detect the system memory and have MySQL adjust properly without the need of editing the configuration files.

12. Invisible indexes

An invisible index is not applied by the optimizer and looks invisible. Invisible indexes are rather maintained in the background so that they can be switched back on any moment. If a user thinks that an index is not serving any purpose, he can make it invisible, monitor performance changes and decide whether it is useful or not without dropping it.

13. Character sets and collations

In MySQL 8.0, the new default character set will be set to utf8mb4 while the default collation will be set to utf8mb4_800_ci_ai.

14. UUID functions

The User can now store UUIDs in VARBINARY (16) format which was earlier stored in CHAR(36). Three new functions have also been released to manipulate UUIDs- BIN_TO_UUID(), UUID_TO_BIN(), and IS_UUID().
Membership

Stay ahead with AI insights.

Unlimited access to premium articles, exclusive analysis, and the stories shaping India's AI economy.

Subscribe now

AIM Americas

1190 Miraloma Way Suite P, Sunnyvale, CA 94085

AIM India

1st Floor, Sakti Statesman, Bellandur, Bengaluru – 560103

© 2026 AIM. All rights reserved.