MySQL.RU .:. Одобрено лучшими российскими программистами
Справочное руководство по MySQL4.5.5 Синтаксис команды KILL
4.5.5 Синтаксис команды KILL
KILL thread_id
Каждое соединение с mysqld запускается в отдельном потоке. При помощи
команды SHOW PROCESSLIST можно просмотреть список запущенных потоков, а
при помощи команды KILL thread_id - удалить поток.
Если у вас есть привилегия PROCESS , можно просмотреть все потоки. Обладая
привилегией SUPER , можно удалять любые потоки. В противном случае можно
просматривать и удалять только свои собственные потоки.
Для просмотра и удаления потоков можно также применять команды mysqladmin
processlist и mysqladmin kill .
При использовании команды KILL для потока устанавливается специальный флаг
kill flag .
В большинстве случаев удаление потока занимает некоторое время, поскольку
этот флаг проверяется с определенным интервалом.
-
В циклах
SELECT , ORDER BY и GROUP BY флаг проверяется только после
считывания блока строк. Если установлен флаг удаления, то выполнение
оператора будет отменено.
-
При выполнении команды
ALTER TABLE флаг удаления проверяется перед
считыванием каждого блока строк из исходной таблицы. Если флаг
установлен, то выполнение команды отменяется и временная таблица
удаляется. При выполнении команд UPDATE TABLE и DELETE TABLE флаг
удаления проверяется после каждого считывания блока, а также после
каждого обновления или удаления строки. Если флаг удаления установлен,
то выполнение оператора отменяется. Обратите внимание: если не
используются транзакции, то отменить изменения будет невозможно!
-
GET_LOCK() будет отменен при помощи NULL .
-
Поток
INSERT DELAYED быстро сбросит все строки, которые он содержит в
памяти и будет удален.
-
Если поток находится в заблокированной таблице (состояние:
Locked ), то
блокировка таблицы будет быстро отменена.
-
Если поток ожидает освобождения дискового пространства в запросе
write, запись будет отменена с выдачей сообщения о переполнении диска.
|