@Relapse

Как отредактировать огромный SQL-файл?

Здравствуйте!

Планируем перевести БД из myisam в InnoDB путем создания дампа текущих таблиц и их импортом с параметром InnoDB вместо myisam.

Проблема осложняется тем, что у нас есть таблица размером в 50 ГБ, и при редактировании файла дампа с этой таблицей командой sed, примерное время изменения типа таблицы составит 25 часов, что очень долго.

Есть ли другие способы решить эту проблему?
Способ ALTER TABLE table_name ENGINE=InnoDB; не имеет смысла предлагать, уйдет еще больше времени.
  • Вопрос задан
  • 219 просмотров
Решения вопроса 1
firedragon
@firedragon
Не джун-мидл-сеньор, а трус-балбес-бывалый.
Почему не сделать 2 дампа

1. структура
2. данные

Есть еще более продвинутый способ использовать утилиты снхронизации данных. Они обрабатывают более сложные случаи.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
ThunderCat
@ThunderCat Куратор тега MySQL
{PHP, MySql, HTML, JS, CSS} developer
по доке не пробовали?
UPD: https://serverfault.com/questions/51982/converting...
UPD2: емнип, вроде как все индексы и ключи надо убить, после этого сделать конвертацию и создать ключи / индексы, что серьезно ускорит процесс.
Ответ написан
Комментировать
mayton2019
@mayton2019
Bigdata Engineer
Я не специалист в mysql. Но в других DBMS достаточно CTAS/alter table rename для любых смен типов и геометрии хранения.

Sed - это вообще плохая утилита для ETL. Не используйте ее.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы