|
|
|
Как быстро перенести данные из таблицы MyISAM to InnoDB ?
|
|||
|---|---|---|---|
|
#18+
Здравствуйте. Есть таблица 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2015, 04:01:50 |
|
||
|
Как быстро перенести данные из таблицы MyISAM to InnoDB ?
|
|||
|---|---|---|---|
|
#18+
Yed, Не сказал бы что это очень много, имхо с сервером или базай чтото не то. А разве нельзя саму таблицу преобразовать в Иннобд? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2015, 18:32:46 |
|
||
|
Как быстро перенести данные из таблицы MyISAM to InnoDB ?
|
|||
|---|---|---|---|
|
#18+
Думаю, самый быстрый способ - это SELECT INTO OUTFILE / LOAD DATA INFILE. Возможно, ALTER TABLE ENGINE = InnoDB и окажется немного быстрее - но? в отличие от предыдущего варианта? убеждённости нет, ибо реализация неизвестна. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2015, 18:43:46 |
|
||
|
Как быстро перенести данные из таблицы MyISAM to InnoDB ?
|
|||
|---|---|---|---|
|
#18+
Надо бы тогда и другие параметры innodb пересмотреть - увеличить размер буфера и логов. Если не получится - так может и не нужен вам innodb ? Опять же, что это еще за "тестовая машина " ? какой-то перегруженный тухляк на microsoft hyper-v и СХД, как это обычно принято в корпоративной среде? он не будет быстро работать по определению. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2015, 02:01:26 |
|
||
|
Как быстро перенести данные из таблицы MyISAM to InnoDB ?
|
|||
|---|---|---|---|
|
#18+
Конвертацию типа я пробовал, но она так же длится очень долго. Перед началом переноса данных таблицу проверил средствами Mysql. Цель изменения типа - провести некоторые эксперименты с InnoDb. Рабочую базу с MyISAM пока не трогаю, а может и не буду трогать! Хочу понять, насколько потеряю (или нет?) в скорости в моих задачах, в обмен на надежность. Тестовая машина - обычный рабочий комп i5-3450, ОЗУ 8Гб, hdd sata-III. так, в с буферами и дампом поиграюсь . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2015, 05:06:32 |
|
||
|
Как быстро перенести данные из таблицы MyISAM to InnoDB ?
|
|||
|---|---|---|---|
|
#18+
YedЗдравствуйте. Есть таблица MyISAM ~70.000.000 записей, размер ~7,5 Гб. Это в общем немало, т.е. дофига. В принципе, вставки в MySQL никак не оптимизируются, нет никаких режимов ускоренной вставки и т.п. Так что просто жди. Индексы на таблицу нужно удалять не все, первичные ключи нужно оставлять, иначе потом сервер будет ещё раз перезаписывать таблицу всё на новое место (напомню, что в InnoDB первичные ключи кластерные). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2015, 16:19:12 |
|
||
|
Как быстро перенести данные из таблицы MyISAM to InnoDB ?
|
|||
|---|---|---|---|
|
#18+
авторВ принципе, вставки в MySQL никак не оптимизируются, нет никаких режимов ускоренной вставки и т.п. пруф? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2015, 17:36:58 |
|
||
|
Как быстро перенести данные из таблицы MyISAM to InnoDB ?
|
|||
|---|---|---|---|
|
#18+
ScareCrowавторВ принципе, вставки в MySQL никак не оптимизируются, нет никаких режимов ускоренной вставки и т.п. пруф? Так ты бы привела ссылку на описание, как они оптимизируются, и был бы антипруф. Как я могу привести ссылку на ничто ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2015, 18:37:49 |
|
||
|
Как быстро перенести данные из таблицы MyISAM to InnoDB ?
|
|||
|---|---|---|---|
|
#18+
http://dev.mysql.com/doc/refman/5.6/en/innodb-parameters.html хотябы innodb_flush_log_at_trx_commit. дальше сами почитайте. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2015, 18:47:00 |
|
||
|
Как быстро перенести данные из таблицы MyISAM to InnoDB ?
|
|||
|---|---|---|---|
|
#18+
ScareCrowхотябы innodb_flush_log_at_trx_commit.Это ТС уже включил. Ну и всё-таки настройки движка <> режим ускоренной вставки. Этак можно создать таблицу назначения с движком memory и тоже назвать это "режимом ускоренной вставки" :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2015, 05:03:19 |
|
||
|
Как быстро перенести данные из таблицы MyISAM to InnoDB ?
|
|||
|---|---|---|---|
|
#18+
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. Первичный ключ создал? если нет создай. и вставка ни как по пало, а данных отсортированных по первичному ключу...ну чтобы при инсерте не надо было постоянно тасовать данные. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2015, 10:54:13 |
|
||
|
Как быстро перенести данные из таблицы MyISAM to InnoDB ?
|
|||
|---|---|---|---|
|
#18+
Yed, 30% за сутки для такого железа и 7.5 гектарной базы ... как-то долго. У меня на компе сейчас хранится около 70 гектар и то, за пару суток апается из дампа новая БД... машинка одноядерный Атлон 3200... что я делаю не так? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2015, 11:18:18 |
|
||
|
Как быстро перенести данные из таблицы MyISAM to InnoDB ?
|
|||
|---|---|---|---|
|
#18+
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) думай, прежде чем что-то пишешь в форум. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2015, 11:56:25 |
|
||
|
Как быстро перенести данные из таблицы MyISAM to InnoDB ?
|
|||
|---|---|---|---|
|
#18+
автор2) В MySQL даже индексы бессмысленно (вредно) удалять перед загрузкой, таблица будет перезаписываться в новое место при создании нового кластерного индекса. 3) думай, прежде чем что-то пишешь в форум. эм. расскажите плз СУБД в котором таблица не будет пересоздаваться при создании нового кластерного индекса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2015, 14:14:58 |
|
||
|
Как быстро перенести данные из таблицы MyISAM to InnoDB ?
|
|||
|---|---|---|---|
|
#18+
alex564657498765453Первичный ключ создал? если нет создай. Первичный есть. Arhat10930% за сутки для такого железа и 7.5 гектарной базы ... как-то долго. У меня на компе сейчас хранится около 70 гектар и то, за пару суток апается из дампа новая БД... машинка одноядерный Атлон 3200... что я делаю не так? Согласен - очень долго! Ты, видимо, все делаешь как нужно :) Я уже попробовал восстановить через дамп. Самое интересное происходит вот что - сначала процесс идет довольно быстро и файл базы ibdata1 шустро растет, по после нескольких сотен Мб процесс во что-то "упирается" и файл продолжает довольно медленно пополняться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2015, 15:58:18 |
|
||
|
Как быстро перенести данные из таблицы MyISAM to InnoDB ?
|
|||
|---|---|---|---|
|
#18+
ну дык возьми и посмотри во что. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2015, 17:11:47 |
|
||
|
Как быстро перенести данные из таблицы MyISAM to InnoDB ?
|
|||
|---|---|---|---|
|
#18+
Yedсначала процесс идет довольно быстро и файл базы ibdata1 шустро растет, по после нескольких сотен Мб процесс во что-то "упирается" и файл продолжает довольно медленно пополняться.Это при отключенных индексах или как? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2015, 17:25:59 |
|
||
|
Как быстро перенести данные из таблицы MyISAM to InnoDB ?
|
|||
|---|---|---|---|
|
#18+
Yed, Дык! В том то и дело, что ничего не делал... просто винт начал сбоить, а на нем сидел Мускуль. Вот пока он не загнулся окончательно, сделал дамп. Правда у меня там не одна БД, а штук 10-15 ... самая большая 13.5 гектар, есть ещё пара по 6-8 Гб... запустил mysqldump и потом, поставив новый винт апнул все на него. Но я работаю только с InnoDb в варианте XtraDb. В смысле MyIsam-овских баз у меня нет по жизни ... может поэтому? Самая большая ДБ апалась часов 12, если не больше. Я пристально не следил, просто обнаружил на вторые сутки что "Усё". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2015, 18:53:44 |
|
||
|
Как быстро перенести данные из таблицы MyISAM to InnoDB ?
|
|||
|---|---|---|---|
|
#18+
ScareCrowавтор2) В MySQL даже индексы бессмысленно (вредно) удалять перед загрузкой, таблица будет перезаписываться в новое место при создании нового кластерного индекса. 3) думай, прежде чем что-то пишешь в форум. эм. расскажите плз СУБД в котором таблица не будет пересоздаваться при создании нового кластерного индекса. Sybase ASE, DOL-таблица. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2015, 13:47:49 |
|
||
|
Как быстро перенести данные из таблицы MyISAM to InnoDB ?
|
|||
|---|---|---|---|
|
#18+
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 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2015, 17:51:44 |
|
||
|
Как быстро перенести данные из таблицы MyISAM to InnoDB ?
|
|||
|---|---|---|---|
|
#18+
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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.01.2015, 00:36:59 |
|
||
|
Как быстро перенести данные из таблицы MyISAM to InnoDB ?
|
|||
|---|---|---|---|
|
#18+
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. спасибо - все свободны. это профанация а не кластерный индекс. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.01.2015, 03:21:39 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=38864618&tid=1833632]: |
0ms |
get settings: |
11ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
120ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
60ms |
get tp. blocked users: |
2ms |
| others: | 246ms |
| total: | 473ms |

| 0 / 0 |
