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