Which application change should a solutions architect recommend to resolve these issues?
Migrate the RDS instance to an Amazon Redshift cluster and enable weekly garbage collection.
Separate the long-running queries into a new Multi-AZ RDS database and modify the application to query whichever database is needed.
Deploy a two-node Amazon ElastiCache cluster and modify the application to query the cluster first and query the database only if needed.
Create an Amazon Simple Queue Service (Amazon SQS) FIFO queue for common queries and query it first and query the database only if needed.
Explanations:
Migrating to Amazon Redshift would not be appropriate for an OLTP workload like an online shopping application. Redshift is designed for OLAP.
Splitting queries into different databases adds complexity and may not resolve the underlying performance issues related to IOPS and memory.
Deploying an ElastiCache cluster for caching common queries can offload frequent database queries, reducing DB load and improving performance.
Using SQS for querying common queries is not an efficient solution. SQS is designed for decoupling components, not for caching or database queries.