MySQL:实用 SQL 语句集合

 

 

写在前面的话

 

本文主要用于记录工作中不经常使用但是偶尔用到又非常有用的 SQL 语句,持续不断不定期更新。

 

 

数据库大小统计

 

1. 查看 MySQL 某个库的所有表大小,记录数,占用空间等。

SELECT TABLE_NAME,DATA_LENGTH,INDEX_LENGTH,(DATA_LENGTH+INDEX_LENGTH) as length,TABLE_ROWS,concat(round((DATA_LENGTH+INDEX_LENGTH)/1024/1024,3), 'MB') as total_size FROM information_schema.TABLES WHERE TABLE_SCHEMA='库' order by length desc;

结果如图:

DATA_LENGTH:数据大小

INDEX_LENGTH:索引大小

TABLE_ROWS:记录数

total_size:占用空间

 

2. 查看某个库中单个表:

select concat(round(sum(data_length/1024/1024),2),'MB') as TABLE_SIZE from information_schema.tables where table_schema='库名' and  table_name='表名';

结果如图:

 

3. 查看单个数据库整体大小:

select concat(round(sum(data_length/1024/1024),2),'MB') as DATABASE_SIZE from information_schema.tables where table_schema='库名';

结果如图:

 

4. 统计数据库总大小:

select concat(round(sum(data_length/1024/1024),2),'MB') as DATA_SIZE from information_schema.tables;

结果如图:

 

 

超时时间设置

 

1. 查看数据库的超时时间:

SHOW GLOBAL VARIABLES LIKE '%timeout';

结果如图:

红色部分的超时时间为经常搞事情的,建议改大一点!

 

2. 直接调整超时时间:

SET GLOBAL net_write_timeout=28800;
SET GLOBAL net_read_timeout=6000;
SET GLOBAL connect_timeout=6000;
SET GLOBAL long_query_time=100;
SET GLOBAL wait_timeout=600000;
SET GLOBAL interactive_timeout=600000;

 

当然,如果你想永久生效,需要写到 my.cnf 配置中去。 

 

转载于:https://www.cnblogs.com/Dy1an/p/11162604.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值