mysql查看sql执行时间和效率
- show profiles;
参考
mysql 性能实时查询
-
show status; 查看mysql 状态
-
查看mysql设置的最大连接数
show variables like ‘max_connections’;
临时这是最大连接数,MySQL重启后失效
set GLOBAL max_connections=1024;
show variables like '%max_connections%';
修改mysql配置文件my.cnf,在[mysqld]段中添加或修改max_connections值:
max_connections=512
- 查看正在使用的连接数
show global status like ‘Max_used_connections’; - 查看哪些线程在运行
show processlist; //显示前100条记录
show full processlist; //显示全部记录
①.id列,用户登录mysql时,系统分配的"connection_id",可以使用函数connection_id()查看
②.user列,显示当前用户。如果不是root,这个命令就只显示用户权限范围的sql语句
③.host列,显示这个语句是从哪个ip的哪个端口上发的,可以用来跟踪出现问题语句的用户
④.db列,显示这个进程目前连接的是哪个数据库
⑤.command列,显示当前连接的执行的命令,一般取值为休眠(sleep),查询(query),连接(connect)等
⑥.time列,显示这个状态持续的时间,单位是秒
⑦.state列,显示使用当前连接的sql语句的状态,很重要的列。state描述的是语句执行中的某一个状态。一个sql语句,以查询为例,可能需要经过copying to tmp table、sorting result、sending data等状态才可以完成
⑧.info列,显示这个sql语句,是判断问题语句的一个重要依据