Данные загрузки MySQL infile - ускорение?

иногда, я должен повторно импортировать данные для проекта, таким образом читая приблизительно 3,6 миллиона строк в таблицу MySQL (в настоящее время InnoDB, но я на самом деле действительно не ограничен этим механизмом). "Данные загрузки infile..." оказались быстрым решением, однако это имеет компромисс: - при импорте без ключей сам импорт занимает приблизительно 45 секунд, но ключевое создание берет возрасты (уже работающий в течение 20 минут...). - выполнение импорта с включает таблицу, делает импорт намного медленнее

Существуют ключи более чем 3 поля таблицы, ссылаясь на числовые поля. Там какой-либо путь состоит в том, чтобы ускорить это?

Другая проблема: когда я завершаю процесс, который запустил медленный запрос, он продолжает работать на базе данных. Там какой-либо путь состоит в том, чтобы завершить запрос, не перезапуская mysqld?

Большое спасибо DBA

29
задан DBa 17 March 2010 в 15:35
поделиться

2 ответа

, если вы используете innodb и массовую загрузку, вот несколько советов:

отсортируйте ваш CSV-файл в порядке первичных ключей целевой таблицы: помните, что innodb использует кластеризованные первичные ключи, чтобы он загружался быстрее, если его отсортировать!

типичный файл данных загрузки, который я использую:

truncate <table>;

set autocommit = 0;

load data infile <path> into table <table>...

commit;

другие оптимизации, которые можно использовать для увеличения времени загрузки:

set unique_checks = 0;
set foreign_key_checks = 0;
set sql_log_bin=0;

разделить файл CSV на более мелкие части

типичная статистика импорта, которую я наблюдал во время массовой загрузки:

3.5 - 6.5 million rows imported per min
210 - 400 million rows per hour
49
ответ дан 28 November 2019 в 01:26
поделиться

Этому сообщению в блоге почти 3 года, но он все еще актуален и содержит несколько хороших предложений по оптимизации производительности "ЗАГРУЗИТЬ ИНФАЙЛ ДАННЫХ":

http://www.mysqlperformanceblog.com/2007/05/24/predicting-how-long-data-load-would-take/

7
ответ дан 28 November 2019 в 01:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: