• 首页
  • css3教程
  • html5教程
  • jQuery手册
  • vue手册
  • php手册
  • MySQL手册
  • apache手册
  • redis手册
  • PROCESSLIST表

    PROCESSLIST表提供有关正在运行的线程的信息。

    PROCESSLIST表包含以下列:

    • ID

      连接标识符。这Id与在SHOW PROCESSLIST语句的PROCESSLIST_ID列,“性能模式”threads表的列中显示并由CONNECTION_ID()函数返回的值的类型相同。

    • USER

      发出该语句的MySQL用户。值表示system user服务器产生的非客户端线程,以在内部处理任务。这可能是复制从属服务器或延迟行处理程序上使用的I / O或SQL线程。对于system user,在Host列中未指定主机。unauthenticated user是指已经与客户端连接相关联但尚未完成客户端用户身份验证的线程。event_scheduler是指监视计划的事件的线程(请参见“MySQL事件计划程序”)。

      注意

      USER的值system user是从不同的SYSTEM_USER特权。前者指定内部线程。后者区分系统用户帐户和常规用户帐户类别(请参见“帐户类别”)。

    • HOST

      发出该语句的客户端的主机名(除了system user,没有主机)。TCP / IP连接的主机名以格式报告,以便更轻松地确定哪个客户端在做什么。host_name:client_port

    • DB

      默认数据库(如果已选择);否则NULL

    • COMMAND

      线程正在执行的命令的类型。有关线程命令的描述,请参见“检查线程信息”。该列的值对应于客户端/服务器协议的命令和状态变量。请参见“服务器状态变量”COM_xxxCom_xxx

    • TIME

      线程处于其当前状态的时间(以秒为单位)。对于从属SQL线程,该值是上次复制事件的时间戳与从属计算机的实时之间的秒数。请参见“复制实现细节”。

    • STATE

      指示线程正在执行的操作,事件或状态。STATE值的说明可以在“检查线程信息”中找到。

      大多数状态对应于非常快速的操作。如果线程在给定状态下停留许多秒钟,则可能存在需要调查的问题。

      对于SHOW PROCESSLIST声明中的价值STATENULL

    • INFO

      线程正在执行的语句,或者NULL未执行任何语句的语句。该语句可能是发送到服务器的那条语句,或者是最内部的语句(如果该语句执行其他语句)。例如,如果一条CALL语句执行了正在执行一条SELECT语句的存储过程,则该INFO值将显示该SELECT语句。

    注意

    • PROCESSLIST表是非标准INFORMATION_SCHEMA表。
    • 像该SHOW PROCESSLIST语句的输出一样,该PROCESSLIST表仅显示有关您自己的线程的信息,除非您具有PROCESS特权,在这种情况下,您还将看到有关其他线程的信息。作为匿名用户,您根本看不到任何行。
    • 如果一条SQL语句引用该PROCESSLIST表,则在执行语句开始时,MySQL会一次填充整个表,因此在该语句期间具有读取一致性。多语句事务没有读取一致性。

    流程信息也可从中mysqladmin的processlist命令时,SHOW PROCESSLIST语句和性能架构threads表(见“中mysqladmin-客户端管理MySQL服务器”,第13.7.7.29,“SHOW PROCESSLIST的声明”,并科26.12.18.5,“线程表”)。与由于需要互斥锁而对INFORMATION_SCHEMAPROCESSLIST表和SHOW PROCESSLIST语句造成负面性能影响的表相比,对表和语句的访问threads不需要互斥锁,并且对服务器性能的影响最小。的threadstable还显示了有关后台线程的信息,而该PROCESSLISTSHOW PROCESSLIST却没有。这意味着threads可以用来监视其他线程信息源无法监视的活动。

    以下语句是等效的:

    SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST
    
    SHOW FULL PROCESSLIST