28.3.23 Таблица INFORMATION_SCHEMA PROCESSLIST
INFORMATION_SCHEMA.PROCESSLIST устарела и может быть удалена в будущих выпусках MySQL. Соответственно, реализация SHOW
PROCESSLIST, использующая эту таблицу, также устарела. Рекомендуется использовать реализацию Performance Schema PROCESSLIST.
Список процессов MySQL указывает операции, которые в данный момент выполняются набором потоков, работающих в сервере. Таблица PROCESSLIST является одним из источников информации о процессах. Для сравнения этой таблицы с другими источниками см. Источники информации о процессах.
Таблица PROCESSLIST содержит следующие столбцы:
-
IDИдентификатор подключения. Это то же значение, что отображается в столбце
IdоператораSHOW PROCESSLIST, в столбцеPROCESSLIST_IDтаблицы Performance Schemathreadsи возвращается функциейCONNECTION_ID()внутри потока. -
USERПользователь MySQL, который выполнил оператор. Значение
system userотносится к потоку, не являющемуся клиентом, созданному сервером для обработки внутренних задач, например, потоку обработчика отложенных строк или потоку ввода/вывода или SQL, используемому на узлах репликации. Дляsystem userв столбцеHostхост не указан.unauthenticated userотносится к потоку, который стал связан с подключением клиента, но для которого еще не произошла аутентификация пользователя клиента.event_schedulerотносится к потоку, который отслеживает запланированные события (см. Раздел 27.4, «Использование планировщика событий»).ПримечаниеЗначение
USER, равноеsystem user, отличается от привилегииSYSTEM_USER. Первое обозначает внутренние потоки. Второе различает категории учетных записей системного пользователя и обычного пользователя (см. Раздел 8.2.11, «Категории учетных записей»). -
HOSTИмя хоста клиента, выполняющего оператор (за исключением
system user, для которого хост не указан). Имя хоста для подключений TCP/IP отображается в формате, чтобы легче было определить, какой клиент что делает.host_name:client_port -
DBБаза данных по умолчанию для потока или
NULL, если не выбрана ни одна база данных. -
COMMANDТип команды, которую выполняет поток от имени клиента, или
Sleep, если сеанс простаивает. Для описаний команд потоков см. Раздел 10.14, «Просмотр информации о потоках сервера (процессе)». Значение этого столбца соответствует командамCOM_протокола клиент/сервер и переменным состоянияxxxCom_. См. Раздел 7.1.10, «Переменные состояния сервера».xxx -
TIMEВремя в секундах, которое поток находится в текущем состоянии. Для потока репликации SQL значение является количеством секунд между отметкой времени последнего реплицированного события и реальным временем узла репликации. См. Раздел 19.2.3, «Потоки репликации».
-
STATEДействие, событие или состояние, которые указывают, что делает поток. Для описаний значений
STATEсм. Раздел 10.14, «Просмотр информации о потоках сервера (процессе)». Большинство состояний соответствуют очень быстрым операциям. Если поток остается в определенном состоянии в течение многих секунд, возможно, существует проблема, которую нужно расследовать. -
INFOОператор, выполняемый потоком, или
NULL, если он не выполняет ни одного оператора. Оператор может быть тем, который был отправлен на сервер, или внутренним оператором, если оператор выполняет другие операторы. Например, если операторCALLвыполняет хранимую процедуру, которая выполняет операторSELECT, значениеINFOотображает операторSELECT.
Примечания
PROCESSLIST— нестандартная таблицаINFORMATION_SCHEMA.Как и в выводе оператора
SHOW PROCESSLIST, таблицаPROCESSLISTпредоставляет информацию обо всех потоках, даже тех, которые принадлежат другим пользователям, если у вас есть привилегияPROCESS. В противном случае (без привилегииPROCESS), у неанонимных пользователей есть доступ к информации о собственных потоках, но не о потоках других пользователей, а у анонимных пользователей нет доступа к информации о потоках.Если SQL-оператор ссылается на таблицу
PROCESSLIST, MySQL заполняет всю таблицу один раз, когда начинается выполнение оператора, чтобы обеспечить согласованность чтения во время выполнения оператора. Согласованность чтения отсутствует для транзакции с несколькими операторами.
Следующие операторы эквивалентны:
SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST
SHOW FULL PROCESSLIST
Вы можете получить информацию об использовании этой таблицы, проверив значения переменных состояния сервера Deprecated_use_i_s_processlist_count и Deprecated_use_i_s_processlist_last_timestamp. Deprecated_use_i_s_processlist_count показывает количество раз, когда таблица PROCESSLIST была обращена к ней с момента последнего перезапуска сервера; Deprecated_use_i_s_processlist_last_timestamp предоставляет последнее время обращения к таблице в виде метки времени Unix.
© 2025 Oracle
Licensed under the GPLv2 License.