Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Как быстро перенести данные из таблицы MyISAM to InnoDB ? / 22 сообщений из 22, страница 1 из 1
26.01.2015, 04:01:50
    #38862819
Yed
Yed
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как быстро перенести данные из таблицы MyISAM to InnoDB ?
Здравствуйте.
Есть таблица MyISAM ~70.000.000 записей, размер ~7,5 Гб. На тестовой машине пытаюсь перенести эти данные в InnoDB таблицу в рамках одной БД. Создал новую таблицу innodb с такой же структурой как myisam, но без дополнительных индексов. Параметр "innodb_flush_log_at_trx_commit" установил = 0. Далее запросом "insert into <innodb> select from <myisam>" пытался вставить старые данные в новую таблицу. Так вот этот процесс невероятно длительный, за прошедшую ночь вставилось только около 30% данных. Такая скорость неприемлема для рабочего сервера. Как увеличить скорость переноса данных? MySQL 5.5.
...
Рейтинг: 0 / 0
26.01.2015, 18:32:46
    #38863592
Goretsv
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как быстро перенести данные из таблицы MyISAM to InnoDB ?
Yed,
Не сказал бы что это очень много, имхо с сервером или базай чтото не то.
А разве нельзя саму таблицу преобразовать в Иннобд?
...
Рейтинг: 0 / 0
26.01.2015, 18:43:46
    #38863601
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как быстро перенести данные из таблицы MyISAM to InnoDB ?
Думаю, самый быстрый способ - это SELECT INTO OUTFILE / LOAD DATA INFILE.
Возможно, ALTER TABLE ENGINE = InnoDB и окажется немного быстрее - но? в отличие от предыдущего варианта? убеждённости нет, ибо реализация неизвестна.
...
Рейтинг: 0 / 0
27.01.2015, 02:01:26
    #38863809
netwind
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как быстро перенести данные из таблицы MyISAM to InnoDB ?
Надо бы тогда и другие параметры innodb пересмотреть - увеличить размер буфера и логов.
Если не получится - так может и не нужен вам innodb ?

Опять же, что это еще за "тестовая машина " ? какой-то перегруженный тухляк на microsoft hyper-v и СХД, как это обычно принято в корпоративной среде? он не будет быстро работать по определению.
...
Рейтинг: 0 / 0
27.01.2015, 05:06:32
    #38863838
Yed
Yed
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как быстро перенести данные из таблицы MyISAM to InnoDB ?
Конвертацию типа я пробовал, но она так же длится очень долго.
Перед началом переноса данных таблицу проверил средствами Mysql.

Цель изменения типа - провести некоторые эксперименты с InnoDb. Рабочую базу с MyISAM пока не трогаю, а может и не буду трогать! Хочу понять, насколько потеряю (или нет?) в скорости в моих задачах, в обмен на надежность.

Тестовая машина - обычный рабочий комп i5-3450, ОЗУ 8Гб, hdd sata-III.

так, в с буферами и дампом поиграюсь .
...
Рейтинг: 0 / 0
27.01.2015, 16:19:12
    #38864496
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как быстро перенести данные из таблицы MyISAM to InnoDB ?
YedЗдравствуйте.
Есть таблица MyISAM ~70.000.000 записей, размер ~7,5 Гб.


Это в общем немало, т.е. дофига.
В принципе, вставки в MySQL никак не оптимизируются, нет никаких режимов ускоренной вставки и т.п.
Так что просто жди.

Индексы на таблицу нужно удалять не все, первичные ключи нужно оставлять, иначе потом сервер будет ещё раз перезаписывать таблицу всё на новое место (напомню, что в InnoDB первичные ключи кластерные).
...
Рейтинг: 0 / 0
27.01.2015, 17:36:58
    #38864618
ScareCrow
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как быстро перенести данные из таблицы MyISAM to InnoDB ?
авторВ принципе, вставки в MySQL никак не оптимизируются, нет никаких режимов ускоренной вставки и т.п.
пруф?
...
Рейтинг: 0 / 0
27.01.2015, 18:37:49
    #38864708
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как быстро перенести данные из таблицы MyISAM to InnoDB ?
ScareCrowавторВ принципе, вставки в MySQL никак не оптимизируются, нет никаких режимов ускоренной вставки и т.п.
пруф?

Так ты бы привела ссылку на описание, как они оптимизируются, и был бы антипруф.
Как я могу привести ссылку на ничто ?
...
Рейтинг: 0 / 0
27.01.2015, 18:47:00
    #38864718
ScareCrow
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как быстро перенести данные из таблицы MyISAM to InnoDB ?
http://dev.mysql.com/doc/refman/5.6/en/innodb-parameters.html

хотябы innodb_flush_log_at_trx_commit.

дальше сами почитайте.
...
Рейтинг: 0 / 0
28.01.2015, 05:03:19
    #38864986
tanglir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как быстро перенести данные из таблицы MyISAM to InnoDB ?
ScareCrowхотябы innodb_flush_log_at_trx_commit.Это ТС уже включил.
Ну и всё-таки настройки движка <> режим ускоренной вставки. Этак можно создать таблицу назначения с движком memory и тоже назвать это "режимом ускоренной вставки" :)
...
Рейтинг: 0 / 0
28.01.2015, 10:54:13
    #38865203
alex564657498765453
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как быстро перенести данные из таблицы MyISAM to InnoDB ?
YedЗдравствуйте.
Есть таблица MyISAM ~70.000.000 записей, размер ~7,5 Гб. На тестовой машине пытаюсь перенести эти данные в InnoDB таблицу в рамках одной БД. Создал новую таблицу innodb с такой же структурой как myisam, но без дополнительных индексов. Параметр "innodb_flush_log_at_trx_commit" установил = 0. Далее запросом "insert into <innodb> select from <myisam>" пытался вставить старые данные в новую таблицу. Так вот этот процесс невероятно длительный, за прошедшую ночь вставилось только около 30% данных. Такая скорость неприемлема для рабочего сервера. Как увеличить скорость переноса данных? MySQL 5.5.


Первичный ключ создал? если нет создай.

и вставка ни как по пало, а данных отсортированных по первичному ключу...ну чтобы при инсерте не надо было постоянно тасовать данные.
...
Рейтинг: 0 / 0
28.01.2015, 11:18:18
    #38865236
Arhat109
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как быстро перенести данные из таблицы MyISAM to InnoDB ?
Yed,

30% за сутки для такого железа и 7.5 гектарной базы ... как-то долго. У меня на компе сейчас хранится около 70 гектар и то, за пару суток апается из дампа новая БД... машинка одноядерный Атлон 3200... что я делаю не так?
...
Рейтинг: 0 / 0
28.01.2015, 11:56:25
    #38865301
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как быстро перенести данные из таблицы MyISAM to InnoDB ?
ScareCrow http://dev.mysql.com/doc/refman/5.6/en/innodb-parameters.html

хотябы innodb_flush_log_at_trx_commit.

дальше сами почитайте.

0) читал не раз.
1) это оптимизация не вставок, а всех модифицирующих транзакций. я говорил об оптимизации вставок.
У большинства более других СУБД есть специальные режимы работы для очень быстрой загрузки данных
как правило без использования ACID-транзакций и с минимизацией журналирования.
2) В MySQL даже индексы бессмысленно (вредно) удалять перед загрузкой, таблица будет перезаписываться
в новое место при создании нового кластерного индекса.
3) думай, прежде чем что-то пишешь в форум.
...
Рейтинг: 0 / 0
28.01.2015, 14:14:58
    #38865503
ScareCrow
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как быстро перенести данные из таблицы MyISAM to InnoDB ?
автор2) В MySQL даже индексы бессмысленно (вредно) удалять перед загрузкой, таблица будет перезаписываться
в новое место при создании нового кластерного индекса.
3) думай, прежде чем что-то пишешь в форум.

эм. расскажите плз СУБД в котором таблица не будет пересоздаваться при создании нового кластерного индекса.
...
Рейтинг: 0 / 0
28.01.2015, 15:58:18
    #38865638
Yed
Yed
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как быстро перенести данные из таблицы MyISAM to InnoDB ?
alex564657498765453Первичный ключ создал? если нет создай.
Первичный есть.

Arhat10930% за сутки для такого железа и 7.5 гектарной базы ... как-то долго. У меня на компе сейчас хранится около 70 гектар и то, за пару суток апается из дампа новая БД... машинка одноядерный Атлон 3200... что я делаю не так?
Согласен - очень долго! Ты, видимо, все делаешь как нужно :)

Я уже попробовал восстановить через дамп. Самое интересное происходит вот что - сначала процесс идет довольно быстро и файл базы ibdata1 шустро растет, по после нескольких сотен Мб процесс во что-то "упирается" и файл продолжает довольно медленно пополняться.
...
Рейтинг: 0 / 0
28.01.2015, 17:11:47
    #38865734
ScareCrow
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как быстро перенести данные из таблицы MyISAM to InnoDB ?
ну дык возьми и посмотри во что.
...
Рейтинг: 0 / 0
28.01.2015, 17:25:59
    #38865759
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как быстро перенести данные из таблицы MyISAM to InnoDB ?
Yedсначала процесс идет довольно быстро и файл базы ibdata1 шустро растет, по после нескольких сотен Мб процесс во что-то "упирается" и файл продолжает довольно медленно пополняться.Это при отключенных индексах или как?
...
Рейтинг: 0 / 0
28.01.2015, 18:53:44
    #38865868
Arhat109
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как быстро перенести данные из таблицы MyISAM to InnoDB ?
Yed,

Дык! В том то и дело, что ничего не делал... просто винт начал сбоить, а на нем сидел Мускуль. Вот пока он не загнулся окончательно, сделал дамп. Правда у меня там не одна БД, а штук 10-15 ... самая большая 13.5 гектар, есть ещё пара по 6-8 Гб... запустил mysqldump и потом, поставив новый винт апнул все на него.
Но я работаю только с InnoDb в варианте XtraDb. В смысле MyIsam-овских баз у меня нет по жизни ... может поэтому?

Самая большая ДБ апалась часов 12, если не больше. Я пристально не следил, просто обнаружил на вторые сутки что "Усё".
...
Рейтинг: 0 / 0
29.01.2015, 13:47:49
    #38866654
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как быстро перенести данные из таблицы MyISAM to InnoDB ?
ScareCrowавтор2) В MySQL даже индексы бессмысленно (вредно) удалять перед загрузкой, таблица будет перезаписываться
в новое место при создании нового кластерного индекса.
3) думай, прежде чем что-то пишешь в форум.

эм. расскажите плз СУБД в котором таблица не будет пересоздаваться при создании нового кластерного индекса.

Sybase ASE, DOL-таблица.
...
Рейтинг: 0 / 0
29.01.2015, 17:51:44
    #38867030
ScareCrow
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как быстро перенести данные из таблицы MyISAM to InnoDB ?
MasterZivScareCrowпропущено...


эм. расскажите плз СУБД в котором таблица не будет пересоздаваться при создании нового кластерного индекса.

Sybase ASE, DOL-таблица.
да неужели?

авторTo create a clustered index, Adaptive Server duplicates the existing data; the server deletes the original data when the index is complete
...
Рейтинг: 0 / 0
30.01.2015, 00:36:59
    #38867323
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как быстро перенести данные из таблицы MyISAM to InnoDB ?
ScareCrowMasterZivпропущено...


Sybase ASE, DOL-таблица.
да неужели?

авторTo create a clustered index, Adaptive Server duplicates the existing data; the server deletes the original data when the index is complete

Это не DOL.
...
Рейтинг: 0 / 0
30.01.2015, 03:21:39
    #38867336
ScareCrow
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как быстро перенести данные из таблицы MyISAM to InnoDB ?
MasterZivScareCrowпропущено...

да неужели?

пропущено...


Это не DOL.
автор leaf level of the DOL clustered index is *not* the datapages.
if it is not possible to insert a
row at the right spot in the table, it will be inserted somewhere else.
So this is why the data rows usually will be ordered along the clustered
index key, but they don't always have to be.

спасибо - все свободны. это профанация а не кластерный индекс.
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Как быстро перенести данные из таблицы MyISAM to InnoDB ? / 22 сообщений из 22, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]