1.mysql重要不常用sql集锦

SHOW PROCESSLIST;  -- 用于显示用户运行线程

Id  

线程的唯一标志,可以根据它 kill 线程 User 启动这个线程的用户,普通用户只能看到自己的线程

Host

 哪个 IP 端口发起的连接

db

操作的数据库

Command

线程的命令 https://dev.mysql.com/doc/refman/5.7/en/thread-commands.html

Time

操作持续时间,单位秒 State 线程状态,比如查询可能有 copyingtotmptable,Sortingresult,Sendingdata https://dev.mysql.com/doc/refman/5.7/en/general-thread-states.html

Info

SQL 语句的前 100 个字符,如果要查看完整的 SQL 语句,用 SHOW FULL PROCESSLIST

SELECT CONCAT('KILL ',id,';') FROM information_schema.processlist; -- 查询连接数,方便在数据库连接过多的时候杀掉连接进程

SHOW GLOBAL VARIABLES  LIKE '%timeout%'        --  查询所有连接超时相关参数

SHOW GLOBAL VARIABLES LIKE 'wait_timeout';   -- 非交互式超时时间,如 JDBC 程序

SHOW GLOBAL VARIABLES LIKE  'interactive_timeout';       -- 交互式超时时间,如数据库工具

SHOW GLOBAL STATUS LIKE 'Thread%';   -- 查看MySQL当前有多少个连接

 

Threads_cached:

缓存中的线程连接数。

Threads_connected:

当前打开的连接数。

Threads_created:

为处理连接创建的线程数。

Threads_running:

非睡眠状态的连接数,通常指并发连接数。

Threadpool_idle_threads:

-- 表示线程池中的空闲线程数。

Threadpool_threads:

-- 表示线程池中的所有线程数。

Threads_rejected :

--?

SHOW PROCESSLIST;  -- 查看SQL的执行状态。

   一些常见的状态:

SHOW VARIABLES LIKE 'max_connections'; -- MySQL服务允许的最大连接数     在5.7版本中默认是151个,最大可以设置成16384(2^14)。

show的参数说明:

1、级别:会话session级别(默认);全局global级别

2、动态修改:set,重启后失效;永久生效,修改配置文件/etc/my.cnf

例:set global max_connections=1000;

 

SHOW STATUS LIKE'Last_query_cost';   -- 上次查询开销成本

 

SHOW VARIABLES LIKE 'optimizer_trace';  -- mysql优化器的追踪(默认是关闭的)   

SET optimizer_trace='enabled=on';  -- 打开mysql优化器追踪

SELECT * FROM 'information_schema'.'optimizer_trace'\G   -- 查询索引优化器记录  json格式

expanded_query是优化后的SQL语句。

considered_execution_plans里面列出了所有的执行计划。

SHOW VARIABLES LIKE 'datadir';  -- mysql数据库存放数据的路径

SHOW ENGINES;   -- 查询mysql支持的存储引擎

SHOW VARIABLES LIKE '%innodb_buffer_pool%';   -- 查询mysql缓冲池信息   -- Buffer Pool默认大小是128M(134217728字节),可以调整。

SHOW VARIABLES LIKE'innodb_change_buffer_max_size'; -- Change Buffer(写缓冲)。写多读少的业务,调大这个值,代表Change Buffer占Buffer Pool的比例,默认25%。

SHOW VARIABLES LIKE 'innodb_log%';  -- mysql日志参数信息

SHOW VARIABLES LIKE'innodb_log_buffer_size'; -- 保存即将要写入日志文件的缓冲数据大小,默认16M

SHOW STATUS LIKE 'innodb_row_lock_%';     -- mysql查询一些行锁的信息

Innodb_row_lock_current_waits:

当前正在等待锁定的数量;

Innodb_row_lock_time :

从系统启动到现在锁定的总时间长度,单位 ms;

Innodb_row_lock_time_avg :

每次等待所花平均时间;

Innodb_row_lock_time_max:

从系统启动到现在等待最长的一次所花的时间;

Innodb_row_lock_waits :

从系统启动到现在总共等待的次数。

SELECT * FROM information_schema.INNODB_TRX; -- 当前运行的所有事务 ,还有具体的语句

SELECT * FROM information_schema.INNODB_LOCKS; -- 当前出现的锁

SELECT * FROM information_schema.INNODB_LOCK_WAITS; -- 锁等待的对应关系

SHOW STATUS 用于查看 MySQL 服务器运行状态(重启后会清空),有 session和global两种作用域,格式:参数-值。

可以用like带通配符过滤

SHOW GLOBAL STATUS LIKE 'com_select';-- 查看 select 次数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值