【MySql性能优化一】性能测试环境配置和慢查询日志的使用

目前,mysql数据库以他快速,开源的优势已经在各大企业的开发项目中得到了广泛的应用。由于开发人员对数据库的认识程度参差不齐。
所以,对数据库执行语句的写的也是良莠不齐。为了对一些简单的sql语句能够得到更好的查询效果,同时对数据库有一个更高一层的认识,
对系统的查询速度和性能有一个整体的提高,性能问题是每一个开发人员所关心的问题。
这是一个学习过程,用到了sakila数据库来进行测试。

sakila数据库的安装

1、下载sakila-db.tar.gz,解压到一个路径下

这里写图片描述

里面有三个文件:sakila-schema.sql是数据库的数据结构
    sakila-data.sql是数据库里面保存的数据
    sakila.mwb:反向工程文件,具体怎么使不清楚
2、安装sakila数据库
dos窗口中登录mysql后键入:
source D:/mysql-5.6.25-winx64/data/sakila-db/sakila-schema.sql;
此为创建数据库的步骤

这里写图片描述

插入数据:
source D:/mysql-5.6.25-winx64/data/sakila-db/sakila-data.sql;

这里写图片描述

3、安装好后,可以查看sakila数据库中有哪些表了show tables

这里写图片描述

慢查日志的使用

mysql数据库自带了对sql语句的日志查询,在慢查日志中,你可以设置慢查日志中所包含语句执行时间是多长时间以上的。
凡是大于这个查询时间的都会记录到慢查日志中。mysql默认是不开启慢查日志的。需要我们手动进行设置。

慢查日志的设置

首先选定一个位置,新建一个日志文件这里用"mysql-show.sql"
设置慢查日志的文件为刚建的。在dos窗口中登录mysql后,输入:
set global slow_query_log_file='D:/mysql-5.6.25-winx64/mysql-show.log';
设置时长,大于该时长的语句都会被记录到慢查日志中:   
//查询慢查日志的设置时长
Show variables like 'long_query_time';
Set global long_query_time=0; //必须重启mysql 才能生效
开启慢查日志
//开启
Set global slow_query_log=on;
以上慢查日志就设置好了,我们现在可以用了。
当我们查询的语句执行时长大于0s时,会记录到慢查日志中。
先来看一下慢查日志中记录的内容吧。以一个sql语句为例:
select * from film_list;
# Time: 160511 10:30:46 //发生的时间
//执行用户名   和  执行的机器ip
# User@Host: root[root] @ localhost [::1]  Id:    15
//查询时间  锁定时间   返回的行997  扫描的行24861
# Query_time: 0.062490  Lock_time: 0.000000 Rows_sent: 997  Rows_examined: 24861
SET timestamp=1462933846; //执行的时间
//执行的语句
select * from film_list;
当然如果慢查日志中的语句足够多时,手动去查看会很麻烦,所以mysql自带了一个mysqldumpslow的一个分析工具。
但是这个工具默认在Linux下可以直接使用,在windows下面需要安装支持他的perl软件。我安装了也没成功。大家可以再尝试一下其他的方法。
还有一个第三方的工具:pt-query-digest。
以上就是mysql性能优化涉及到的一些工具使用和环境的配置。当然还有一些我们需要了解的比如mysql数据库中的information-schema。
这个数据库中存放的是我们mysql数据库中所有的相关的统计信息,他并不是一个示例数据库。在一些性能优化中可以会用到这个数据库来查询统计信息。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 8
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值