sql查看数据库/表磁盘占用情况,杀死进程终止tidb中的连接

本文介绍了如何通过SQL查询检查TiDB数据库中表的磁盘占用情况,并重点讲解了KILLTIDB语句的使用方法,包括查看进程列表和在TiDB中终止连接的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、查看数据库/表磁盘占用情况

-- 查整个库的内存占用:
select concat(truncate(sum(data_length)/1024/1024,2),'MB') as data_size,
          concat(truncate(sum(index_length)/1024/1024,2),'MB') as index_size
  from information_schema.tables
where TABLE_SCHEMA = 'tablename';
-- 查单表内存占用:
select concat(truncate(sum(data_length)/1024/1024,2),'MB') as data_size,
          concat(truncate(sum(index_length)/1024/1024,2),'MB') as index_size
  from information_schema.tables
where TABLE_NAME = 'tablesname';
  • TABLE_SCHEMA:表所属的架构的名称。
    TABLE_NAME:表的名称。
    DATA_LENGTH:数据长度。DATA_LENGTH= TABLE_ROWS *元组中列的存储长度之和。没有考虑TiKV的副本。
    INDEX_LENGTH:索引长度。INDEX_LENGTH= TABLE_ROWS *索引元组中列的长度总和。没有考虑TiKV的副本。

参考tidb

2、KILL TIDB 语句用于终止 TiDB 中的连接。

SHOW PROCESSLIST;
+------+------+-----------+------+---------+------+-------+------------------+
| Id   | User | Host      | db   | Command | Time | State | Info             |
+------+------+-----------+------+---------+------+-------+------------------+
|    1 | root | 127.0.0.1 | test | Query   |    0 | 2     | SHOW PROCESSLIST |
|    2 | root | 127.0.0.1 |      | Sleep   |    4 | 2     |                  |
+------+------+-----------+------+---------+------+-------+------------------+
2 rows in set (0.00 sec)
KILL TIDB 2;

按照设计,KILL TIDB 语句默认与 MySQL 不兼容。负载均衡器后面通常放有多个 TiDB 服务器,这种默认不兼容有助于防止在错误的 TiDB 服务器上终止连接。

mysql使用方法:

KILL [CONNECTION | QUERY] thread_id

参考tidb官网

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值