MySQL日常维护中的常用统计语句

学习笔记 2020/08/28 MYSQL

日常工作中会碰到很多需要查看整体数据的需求,这里整理了一部分较常用的查询语句。

一、查询指定SQL的trace信息

mysql -uUSER -pPWD -hHOST -e "\\
use ins_tc_prd; \\
set session optimizer_trace=\'enabled=on\'; \\
set optimizer_trace_max_mem_size = 1638400; \\
explain SQL; \\
select * from information_schema.optimizer_trace\\G;" > trace_log.log


二、查询某张表大小

table_schema = \'testdb_monitor\'
ORDER BY (data_length + index_length) DESC;


三、查看表空间的使用情况

select table_name, 
      (data_length+ index_length) /1024/1024 as total_mb, 
      table_rows 
from information_schema.tables 
where table_schema= \'Database\' ;//不写就是全部


四、MySQL查询阻塞语句

select r.trx_id waiting_trx_id, r.trx_mysql_thread_Id waiting_thread, 
       r.trx_query waiting_query, b.trx_id blocking_trx_id, 
       b.trx_mysql_thread_id blocking_thread, b.trx_query blocking_query 
  from information_schema.innodb_lock_waits w inner join information_schema.innodb_trx b on b.trx_id = w.blocking_trx_id 
  inner join information_schema.innodb_trx r on r.trx_id = w.requesting_trx_id;


五、查询表的数据量大小

select table_name,(data_length + index_length)/1024/1024 as table_mb,table_rows 
from information_schema.tables 
where table_schema=\'xwj\';



六、统计数据库中访问量前10的IP

SELECT 
    SUBSTRING_INDEX(host, \':\', 1) AS ip, COUNT(*)
FROM
    information_schema.processlist
GROUP BY ip
ORDER BY COUNT(*) DESC
LIMIT 10;



本文地址:https://www.stayed.cn/item/255

转载请注明出处。

本站部分内容来源于网络,如侵犯到您的权益,请 联系我

我的博客

人生若只如初见,何事秋风悲画扇。