Parallel query execution is my favorite,
non-existent, feature in MySQL. In all
versions of MySQL – at least at the time of writing – when
you run a single query it will run in one thread, effectively
utilizing one CPU core only. Multiple queries run at the same
time will be using different threads and will utilize more than
one CPU core.
On multi-core machines – which is the majority of the hardware
nowadays – and in the cloud, we have multiple cores
available for use. With faster disks (i.e. SSD) we can’t utilize
the full potential of IOPS with just one thread.
AWS Aurora (based on MySQL 5.6) now has a version which will
support parallelism for SELECT queries (utilizing the read
capacity of storage nodes underneath the Aurora cluster). In this
article, we will look at how this can improve the
reporting/analytical query performance in MySQL. I will compare
AWS Aurora with MySQL …
[Read more]