I've been using an RDS instance during the development phase of a project. This was a db.t2.micro instance, so not very powerful at all.
Today I have created a new Aurora (5.6) [serverless] database and migrated all our data across by doing an export / import of SQL data. I've assigned Aurora between 2 and 8 capacity units.
My RDS instance was using mySQL 8.0, so a rather newer version that that provided by Aurora. But other than that it's all the same tables / structure and data.
I've done a few mildly complex queries to check it all out and noticed a huge speed difference. That that difference is almost all accounted for in the "sending data" phase.
With one query the old RDS instance took 5.6 seconds, the new Aurora one took over 30 seconds... The more data I pull back, the bigger the difference in performance.
Doing the same query with 2 and with 8 capacity units yields pretty much the same overall query time. So it does not appear to be related to capacity. Given that the old RDS was just a micro instance, I'd really expect Aurora to be significantly faster, not significantly slower.
I saw some threads talking about innodb_adaptive_hash_index. I tried enabling that, but that made no difference.
Is Aurora's I/O simply poor compared with normal RDS instances? Or is there some reason for this that can be remedied?