Мы боролись с медленным (никогда не заканчивающимся) запуском хранимых процедур. Мы сосредоточились на конкретном CREATE TABLE ... SELECT ... from table
с некоторыми объединениями.
Когда мы выполняем этот запрос самостоятельно, он последовательно завершается примерно через 14 секунд. Когда он запускается как часть Stored Pro c, он не завершится даже после нескольких часов.
Что мы нашли, если мы возьмем весь код из хранимого Pro c и просто запустим его как обычный SQL скрипт тогда тоже медленный. Далее в хранимых таблицах pro c создаются из базовых данных и подготавливаются для использования в Stored Pro c.
. Мы работаем с 5.7.mysql_aurora.2.07.2 и протестированы на 5.7.mysql_aurora. .2.07.1 также. Я подозреваю, что нам нужно настроить некоторые параметры базы данных, но мне не хватает опыта работы с InnoDB и Aurora.
Мы мигрировали из MyISAM в Aurora, где мы теперь используем InnoDB, и любые рекомендации о том, что может быть причиной этого, были бы очень признателен.
РЕДАКТИРОВАТЬ: Я пытался изменить утверждения с CREATE TABLE ... SELECT ... from table
на CREATE TABLE
, а затем INSERT INTO
, что не имеет значения.
То, что, похоже, сработало, это используйте create table A (PRIMARY KEY (name)) select ...
для всех созданных таблиц вместо того, чтобы сначала создавать таблицу и использовать оператор ALTER
для добавления ключа.
Я озадачен, почему этот режим работает ???