~/posts/top-mysql8-aws-rds-features
date: 2022-08-25 | read_time: 3 min read | topic: devops

Top MySQL 8/AWS RDS 3 features that can improve your app

AWS recently announced support for MySQL 8 on RDS Aurora. While MySQL 8 was available on RDS previously, Aurora's replication capabilities make this milestone significant. MySQL 5.7 support ends in October 2023, making migration planning essential.

Performance

Instant DDL

MySQL 8 introduced ALGORITHM=INSTANT for ALTER TABLE statements, dramatically improving performance. Adding a column to a 150-million-record table takes 0.5-1.5s compared to approximately 40 minutes in MySQL 5.7. Note: This requires Amazon Aurora MySQL lab mode.

Invisible Indexes

Testing index performance impact without production risk becomes possible through invisible indexes. This feature proves invaluable for large databases, allowing developers to assess optimization changes before committing them.

Querying

Window Functions

Analytics capabilities expanded significantly with window functions, offering new approaches to data analysis that warrant investigation for reporting needs.

CTEs (Common Table Expressions)

The WITH clause enables named temporary results reusable within statement scope, improving query organization.

JSON Functions

Building on MySQL 5.7's JSON data type, version 8 delivers performance improvements and additional functions for JSON manipulation.

Upgrade Experience

The migration from 5.7 to 8 involved snapshot restoration — the only viable option for downtime and data consistency. Initial attempts to restore directly to the latest Aurora version failed; restoring to the previous version first worked but required two upgrade steps. The migration ultimately succeeded with two hours of downtime, fitting the SLA requirements.

The recommendation: prioritize migration before October 2023 support expiration.

tags: aws mysql rds