ЗАГРУЗИТЬ ДАННЫЕ В ФАЙЛ - какой движок, если у меня большой файл?

Нужен совет от человека, который уже сталкивался с моей проблемой.

У меня больше 10млн. записывает файл *.txt для импорта в новую таблицу. Во-первых, я хотел найти несколько «советов экспертов» относительно лучшего выбора для таблицы Engine.

К сожалению, я нашел 50% мнений для InnoDB и 50% мнений для MyISAM. Исходя из вашего опыта, с учетом объема информации и того факта, что я буду использовать LOAD DATA INFILE, что лучше всего подходит для моего движка таблиц? И, пожалуйста, дайте мне веские аргументы :) а не просто совет использовать тот или иной !

Во-вторых: после того, как я решу, какой движок выбрать, скажем, MyISAM, если в будущем мне нужно будет использовать таблицу в транзакции, рекомендуется «временно» изменить движок таблицы на InnoDB. чтобы выполнить транзакцию и после вернуться к первому выбранному варианту?


person mgm    schedule 22.12.2011    source источник


Ответы (2)



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

Если вы делаете много модификаций (вставляете/обновляете/удаляете), тогда Innodb подойдет лучше (меньше проблем с блокировкой). Но MyISAM прекрасно подойдет, если у вас нет одновременных модификаций.

Переключение типов таблиц занимает слишком много времени, но это вариант. Если вы хотите иметь и MyISAM, и Innodb, настройте репликацию. У вас может быть таблица Innodb на одном сервере и MyISAM на сервере репликации. Типы таблиц не обязательно должны быть одинаковыми для ведущих и подчиненных устройств.

person Brent Baisley    schedule 22.12.2011
comment
Кроме того, у меня есть таблицы журналов MyISAM с более чем 500 миллионами записей. Если вы только вставляете, MyISAM великолепен. Чтобы ускорить загрузку данных, вы должны установить очень большие буферы сортировки (независимо от типа таблицы). Опустите их после импорта. - person Brent Baisley; 22.12.2011