как экспортировать / сбросить MySQL без индекса - PullRequest
0 голосов
/ 02 декабря 2018

Я экспортировал sql с сервера и импортировал на свой локальный компьютер.

Но для импорта sql требуется слишком много времени, я думаю, это связано с индексом.

Можно ли экспортировать sql безindex?

А после импорта sql, применить индексы к таблицам.Это возможно?

Ответы [ 2 ]

0 голосов
/ 11 июня 2019

--disable-keys работает только для таблиц MyISAM.Я много занимался поиском и не нашел подобного способа сделать это для InnoDB.

Что я делаю, это использую hexedit , нажимаю Tab, набираю / иимя таблицы, нажмите ввод, когда он находит оператор CREATE TABLE для большой таблицы, вызывающей проблемы, я перехожу к секунде PRIMARY KEY / UNIQUE KEY / KEY и удаляю все индексы, заменяя их пробелами.После сохранения файла загрузите дамп и сразу после этого заново создайте те же индексы вручную.Для моих данных (150 ГБ и 1,5 миллиарда строк) это занимает 5 часов вместо 15.

0 голосов
/ 04 декабря 2018

Из mysqldump doc:

- ключи отключения, -K

Для каждой таблицы заключите операторы INSERT в / *! 40000 ALTER TABLE tbl_name DISABLEКЛЮЧИ /;и / ! 40000 ALTER TABLE tbl_name ENABLE KEYS * /;заявления.Это ускоряет загрузку файла дампа, поскольку индексы создаются после вставки всех строк.Этот параметр действует только для неуникальных индексов таблиц MyISAM.Не влияет на другие таблицы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...