Улучшить данные загрузки MySQL
Есть ли какой-либо параметр mysql для повышения скорости "LOAD DATA INFILE "?
Я использую 1 MyISAM и 1 таблицу TokuDB. Данные сохраняются в виде текстового файла, разделенного табуляцией.
2 ответа
Есть несколько способов ускорить это. http://dev.mysql.com/doc/refman/5.1/en/insert-speed.html
Для больших вставок, как правило, обновление индекса замедляет работу. Таким образом, даже при использовании таких методов, как блокировка таблицы, отключение обновлений индекса, создание индексов может занять много времени. Создание индексов и, следовательно, вставок в таблицы MyISAM может быть ускорено путем увеличения значения key_buffer_size. Сделайте это достаточно большим, чтобы вместить индекс (ы), и ваши вставки могут ускориться на несколько порядков. Вы можете уменьшить его после вставки, если это будет необходимо.
Вы загружаете в пустую таблицу или таблицу, в которой уже есть строки? Если таблица пуста, TokuDB будет реализовывать свой пакетный загрузчик и очень быстро загружать данные.
Кроме того, если вы загружаете данные в таблицу с уникальными индексами (PK или вторичными), отключите unique_checks, если вы знаете, что данные уникальны.