проблемы переноса данных из mssql в mysql

Привет, я пытаюсь перенести базу данных mssql в базу данных mysql с помощью mysql workbench.

Проблема здесь в том, что когда я переношу данные, рабочая среда mysql зависает на последнем этапе, который представляет собой массовую передачу данных. Я искал в Интернете, в некоторых ответах говорится, что если вы используете рабочую среду mysql на 64-битной версии Win 7, эта операция всегда будет зависать , это правильно ? и я должен установить win 32? (это происходит, когда я хочу перенести все в базу данных mssql).

Вторая проблема заключается в том, что мне удалось перенести несколько таблиц, но никакие процедуры или триггеры не переносятся, и, кроме того, простой запрос в mssql занимает 0,2 секунды для той же таблицы в mysql 20 секунд, я знаю, что проблема в индексации, но когда я индексирую таблицу по определенному столбцу, запрос работает нормально, если я выбрал, где в этом столбце, за исключением того, что выбор без где в индексированном столбце все еще очень медленный.

Пример :

выбрать * из пользователей;

это в mssql 1 сек

в mysql 20 сек

после индексации по user_type

выберите * из пользователей, где user_type = 2;

это в mssql 0,7 сек

в mysql 0,5 сек

но когда я вернусь к использованию

выбрать * из пользователей;

это в mssql 0,9 сек

в mysql 18 сек

любые идеи здесь?

Спасибо.


person Mosab Aldahayyat    schedule 04.12.2013    source источник
comment
Какие еще индексы существуют в таблице? Какова структура таблицы?   -  person Joe Taras    schedule 04.12.2013
comment
поэтому в таблице нет других индексов, а структура таблицы - user_id, name, email(P_K), user_type, last_login, country.   -  person Mosab Aldahayyat    schedule 04.12.2013


Ответы (1)


Итак, после многих лотков я нашел решение, которое:

когда данные переносятся из mssql в mysql, mysql предполагает, что вы хотите использовать InnoDB в качестве механизма по умолчанию, и при переносе вы потеряете индексы, подпрограммы и процедуры, поэтому при запуске данных в InnoDB это будет очень медленно, пока вы не создадите заново новые индексы, подпрограммы и процедуры.

но когда вы укажете, что хотите использовать MyISAM в качестве механизма по умолчанию, запрос выбора будет невероятно быстрым без выполнения вышеперечисленного, и если вышеперечисленное было сделано, запрос ускорится.

но это работает для чтения строк, потому что MyISAM действительно отлично подходит для чтения строк, но для записи InnoDB будет боссом, и, конечно, если требуется чтение/запись, InnoDB также будет боссом, но после воссоздания выше.

поэтому в моем случае я просто добавил ENGINE=MyISAM после каждого оператора создания таблицы, и когда я выполняю любой запрос, даже если я извлекал 200 тыс. строк, мне потребовалось почти 2 секунды, чтобы получить результат.

person Mosab Aldahayyat    schedule 11.12.2013
comment
У меня была аналогичная проблема. Позвольте мне попытаться обновить вас. - person abksharma; 10.08.2016