У меня есть схема, которая была изначально настроена с MyISAM.У меня были отношения между таблицами, которые не были определены как внешние ключи, но я связывал таблицу с объединениями и т. Д. Очевидно, что не было никаких правил каскадного удаления / обновления и т. Д. ...
Я заново создалта же схема БД с InnoDB, но на этот раз я поместил внешние ключи в операторы создания и определил правила обновления / удаления.
Я загружаю около 200 000 записей в БД с помощью PHP из файла CSV.Первоначально это заняло несколько минут, но с тех пор, как я перешел на InnoDB, через 10 минут сценарий PHP отключился, и было обработано всего ~ 7% файла CSV.однако лучшим решением (если это возможно) будет использование MyISAM при первоначальном заполнении базы данных, а затем переключение обратно на InnoDB и разрешение MySQL наладить отношения.Я не знаю, возможно ли это, но я предполагаю, что если это так, MySQL может исправить свои собственные внутренние структуры данных быстрее, чем вставка PHP один за другим.
Еще одна вещь, которую следует учитывать, это то, что примернораз в год нам нужно будет повторно загружать набор из 200 000 записей и определять, какие из них изменились.Вероятно, было бы невозможно переключаться с одного движка на другой, когда нам нужно было сделать это.
Есть какие-нибудь указатели?