Влияние запроса KILL QUERY на операторы INSERT и LOAD DATA INFILE в таблице MyISAM

У меня есть система, которая выполняет довольно тяжелые запросы MySQL, и мы хотели бы предоставить способ прерывания запросов через JDBC. Statement.cancel() кажется подходящим способом, и он эффективно отправляет ЗАПРОС KILL при отдельном соединении с базой данных. Однако, поскольку мы имеем дело с таблицей MyISAM, у нас нет никакого управления транзакциями для операций.

Мне было бы интересно узнать, как влияет KILL QUERY на оператор LOAD DATA INFILE или на INSERT.

Кажется, что операторы LOAD DATA INFILE немного более рискованны, чем ваш средний INSERT, поэтому я хотел бы знать, может ли уничтожение оператора оставить таблицу в поврежденном состоянии.

Спасибо !


person ahelix    schedule 05.02.2013    source источник


Ответы (1)


  • запрос будет убит;
  • изменения будут отменены.

Нет риска испортить таблицу.

person ravnur    schedule 06.02.2013
comment
Ах! Теперь я понял, что забыл важную деталь: мой вопрос касался таблиц MyISAM и ARCHIVE, поэтому отсутствие поддержки транзакций означает, что невозможно откатить всю операцию. - person ahelix; 06.02.2013
comment
я не пробовал этот вариант. Я думаю, что таблица в любом случае не будет повреждена из-за последовательной записи, но вам лучше попробовать на dev box. - person ravnur; 06.02.2013