SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 04.01.2014 15:53:35

VladimirPivovar
Завсегдатай
Зарегистрирован: 26.04.2011
Сообщений: 31

Спланированная и внезапная остановка выполнения команды LOAD DATA INFILE

Добрый день, скажите пожалуйста как быть в такой ситуации:
выполняется заливка записей из *.csv файла в проиндексированную таблицу.

Тип таблицы - MyISAM.

Команда LOAD DATA INFILE перестает выполняться в двух случаях:

1) Пользователь нажал кнопку отменить, и соответственно процесс LOAD DATA INFILE прибивается командой
KILL id_process_LOAD DATA INFILE

2) Пропало соединение с MySQL Server.


По поводу этих двух случаях есть вопросы:

Возможна порча индекса, так как будет автоматически выполняться переиндексация таблицы с миллионами записями (а процесс грубо останаливается командой KILL id_process ( по другому нельзя или же как то дать знать MySQL Serverу знак - ты давай быстренько заканчивай переиндексацию, а мы подождём, либо закрыть - открыть новое соединение)....

ну и часть закаченных данных вроде как придется удалять, и опять же таблица с построенных индексом не так быстро даст удалить эти записи, а выключение-включение индекса запустит переиндексацию Subpartition-a хранящего примерно 40-50 млн записей, если не всю таблицу целиком....

Можно ли как то запустить SQL запрос LOAD DATA INFILE с отсроченной вставкой, то есть пока полностью не завершится - не выполнять реальную вставку в таблицу?

Как правильно обрабатывать эти два случая?

Отредактированно VladimirPivovar (04.01.2014 15:58:33)

Неактивен

 

#2 04.01.2014 16:47:25

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3878

Re: Спланированная и внезапная остановка выполнения команды LOAD DATA INFILE

У MySQL нет инструментов для поддержки прерванной вставки в MyISAM (транзакции Innodb вам не подойдут из-за производительности вставки). Вставляйте в новую таблицу, а потом дайте команду серверу, чтобы он из этой новой таблицы вставил в основную (на сервере вероятность прерывания вставки минимальна).

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson