【问题标题】:What's the difference between MySQL `show processlist` and TiDB `show processlist`?MySQL `show processlist` 和 TiDB `show processlist` 有什么区别?
【发布时间】:2018-07-20 03:24:50
【问题描述】:

我熟悉 MySQL show processlist。 MySQL 中的show processlist 语句向您显示哪些线程正在运行,并且当您收到“连接太多”错误消息并想了解发生了什么时会很有用。此外,MySQL show processlist 输出以下列:Id、User、Host、db、Command、Time、State 和 Info(参见 MySQL 8.0 Reference Manual)。那么根据 MySQL show processlist 的上述特性,MySQL show processlist 和 TiDB show processlist 有什么区别?

【问题讨论】:

    标签: tidb


    【解决方案1】:

    TiDB show processlist 的显示内容与 MySQL show processlist 的显示内容几乎相同。 TiDB show processlist 不显示系统进程 ID。它显示的 ID 是当前会话 ID。 TiDB show processlist 和 MySQL show processlist 的区别如下:

    • 由于 TiDB 是分布式数据库,tidb-server 实例是一个用于解析和执行 SQL 语句的无状态引擎(详见TiDB architecture)。 show processlist 显示用户从 MySQL 客户端登录到的 tidb-server 实例中执行的会话列表,而不是集群中运行的所有会话的列表。但是 MySQL 是一个独立的数据库,它的show processlist 显示了在 MySQL 中执行的所有 SQL 语句。
    • TiDB show processlist 显示当前会话的估计内存使用情况(单位:字节),在 MySQL show processlist 中不显示。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-04-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-26
      • 1970-01-01
      • 2011-08-13
      • 2016-03-09
      相关资源
      最近更新 更多