Прежде всего, для рабочей БД на RDS я бы предложил создать Read Replica и перенаправить все эти тяжелые запросы SELECT на реплику.Вот ссылка на документы .Делая это, вы уменьшите проблему замораживания для ваших пользователей, поскольку тяжелые запросы не будут выполняться в том же экземпляре, что и обычная рабочая нагрузка.
Во-вторых, рассмотрите возможность создания индексов для таблиц, связанных с этими тяжелыми запросами.,Чтобы правильно выбрать, какие индексы создавать, используйте оператор EXPLAIN и проверьте основные узкие места, т. Е. Где в запросе выполняется больше шагов для получения правильных данных.
Если вы действительно не можете избавитьсяиз этих операторов IN (я думаю, что, по крайней мере, некоторые из них, которые вы должны иметь, например идентификаторы и языки следующих пользователей, возможно, вы можете заменить IN простыми объединениями, используя идентификатор пользователя), создают индексы для соответствующих столбцов.
Дайте нам знать, как это происходит.