mysql 分析命令_【MySql】性能优化之分析命令

当发现程序运行比较慢的时候,首先排除物力资源问题之后,就将注意力转向mysq数据库:

1、首先通过processlist来查看系统的执行情况:

mysql> show full processlist;

2、确认低效的查询:

select @@profiling;查看是否性能分析开启状态

set profiling=1; //打开分析

set profiling=0; //关闭分析

show profiles; //列表,显示最近发送到服务器上执行的语句的资源使用情况.显示的记录数由变量:profiling_history_size 控制,默认15条

show profile;  //展示最近一条语句执行的详细资源占用信息,默认显示 Status和Duration两列.

语法:show profile for query Query_ID //查看指定Query_ID的执行

6c954e6513ed7dedd7b0333d151b4bfa.png

3、为sql生成一个执行计划query Execution plan(QEP)

mysql> explain select * from tbal_name where ...;

4、查看创建表的语句:

show create table table_name \G;

5、查看表的状态:

show table status like 'table_name' \G;

---------------------------------------------------

总结一些分析的命令:

1、explain:解释sql的执行计划,后边的sql不执行

2、explain partitions :用于查看存在分区的表的执行计划

3、explain extended:--书上说存在filtered列,但是检查后没有发现这一列,待验证

4、show warnings:

5、show create table:查看表的详细的创建语句,便于用户对表进行优化

6、show indexes :产看表的所有索引,show indexes from table_name,同样也可以从information_schema.statistics表中获得同样的信息。cardinality列很重要,表示数据量。

7、show tables status: 查看数据库表的底层大小以及表结构,同样可以从information_schema.tables表中获得底层表的信息。

8、show [global|session]status:可以查看mysql服务器当前内部状态信息。可以帮助却行mysql服务器的负载的各种指标。默认是session。同information_schema.global_status和information_schema.session_status

9、show [global|session] variables :查看当前mysql系统变量的值,其中一些值能影响到sql语句的执行方式。同information_schema.global_variables和information_schema.session_variables;

10、information_schema:包含的表的数量和mysql的版本有关系。

慢日志:

slow_query_log    :是否开启慢查询日志,1表示开启,0表示关闭。

log-slow-queries  :旧版(5.6以下版本)MySQL数据库慢查询日志存储路径。可以不设置该参数,系统则会默认给一个缺省的文件host_name-slow.log

slow-query-log-file:新版(5.6及以上版本)MySQL数据库慢查询日志存储路径。可以不设置该参数,系统则会默认给一个缺省的文件host_name-slow.log

long_query_time :慢查询阈值,当查询时间多于设定的阈值时,记录日志。

log_queries_not_using_indexes:未使用索引的查询也被记录到慢查询日志中(可选项)。

log_output:日志存储方式。log_output='FILE'表示将日志存入文件,默认值是'FILE'。log_output='TABLE'表示将日志存入数据库,这样日志信息就会被写入到mysql.slow_log表中。MySQL数据库支持同时两种日志存储方式,配置的时候以逗号隔开即可,如:log_output='FILE,TABLE'。日志记录到系统的专用日志表中,要比记录到文件耗费更多的系统资源,因此对于需要启用慢查询日志,又需要能够获得更高的系统性能,那么建议优先记录到文件。

g:

mysql> show variables  like '%slow_query_log%';

+---------------------+-----------------------------------------------+

| Variable_name       | Value                                         |

+---------------------+-----------------------------------------------+

| slow_query_log      | OFF                                           |

| slow_query_log_file | /home/WDPM/MysqlData/mysql/DB-Server-slow.log |

-------------------------

查看表的存储引擎:

show create table \show table status \ information_schema.tables可以查看表的存储引擎

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值