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
и DELETE флаг удаления
проверяется после каждого
считывания блока, а также после
каждого обновления или удаления
строки. Если флаг удаления
установлен, то выполнение
оператора отменяется. Обратите
внимание: если не используются
транзакции, то отменить
изменения будет невозможно!
GET_LOCK() будет отменен
при помощи NULL.
Поток INSERT DELAYED быстро
сбросит все строки, которые он
содержит в памяти и будет удален.
Если поток находится в
заблокированной таблице
(состояние: Locked), то
блокировка таблицы будет быстро
отменена.
Если поток ожидает освобождения дискового пространства в запросе write, запись будет отменена с выдачей сообщения о переполнении диска.
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.
© 1995-2005 MySQL AB. All rights reserved.
