Уничтожение процесса mysqld

У меня есть таблица с ~800k строками. Я работал update users set hash = SHA1(CONCAT({about eight fields})) where 1;

Теперь у меня есть подвешенное Продолжение, Pro обрабатывают, и я не уверен в mysqld процесс.

Это - два вопроса:

  1. Какой вред может возможно прибыть из закрытия этих программ? Я работаю над отдельной базой данных, таким образом, никакое повреждение не должно прибывать в другие базы данных по системе, правильно?

  2. Предположите, что необходимо было обновить таблицу как это. Каково было бы более быстрое / более надежный метод обновления, не пишущий отдельный сценарий.

Я просто сверился с phpMyAdmin, и появляется, как будто запрос завершен. У меня все еще есть Продолжение Pro с помощью 100% из обоих моих ядер хотя...

5
задан Juan Mellado 3 May 2012 в 15:01
поделиться

1 ответ

Чтобы получить идентификаторы потоков (рядом с ними будет показан запрос):

mysqladmin proc

Чтобы безопасно убить поток запросов:

mysqladmin kill [id]

Вы получите частично обновленную таблицу, если вы не используете innodb, но вы должны быть отлично. Подробности :

Во время операций UPDATE или DELETE, флаг уничтожения проверяется после каждого блокировать чтение и после каждого обновления или удаленная строка. Если установлен флаг уничтожения, заявление прервано. Обратите внимание, что если вы не используете транзакции, изменения не откатываются.

Что касается вашего второго вопроса, нет лучшего способа обновить таблицу, если не разрешено писать отдельный сценарий (например, для ограничения обновлений).

1
ответ дан 14 December 2019 в 13:26
поделиться
Другие вопросы по тегам:

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