Задать вопрос
@Relapse

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

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

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

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

Есть ли другие способы решить эту проблему?
Способ ALTER TABLE table_name ENGINE=InnoDB; не имеет смысла предлагать, уйдет еще больше времени.
  • Вопрос задан
  • 255 просмотров
Подписаться 1 Средний 1 комментарий
Помогут разобраться в теме Все курсы
  • Нетология
    Инженер по тестированию
    8 месяцев
    Далее
  • Яндекс Практикум
    DevOps для эксплуатации и разработки
    6 месяцев
    Далее
  • Яндекс Практикум
    Go-разработчик с нуля
    8 месяцев
    Далее
  • Яндекс Практикум
    Фулстек-разработчик
    16 месяцев
    Далее
  • Нетология
    Системный администратор
    11 месяцев
    Далее
  • Skillfactory
    Профессия «Белый» хакер
    13 месяцев
    Далее
  • Нетология
    DevOps-инженер с нуля
    19 месяцев
    Далее
  • Нетология
    Специалист по информационной безопасности + нейросети
    12 месяцев
    Далее
Решения вопроса 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. Не используйте ее.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы