MySQL数据库性能优化

1.优化的方法

成本由低到高的选择:SQL及索引、数据库表结构、系统配置、硬件。

2.SQL语句优化

2.1.如何发现有问题的SQL(测试Mysql版本5.7)

2.1.0.下载安装sakila

下载地址:

 得到数据库脚本如下:

 安装环境,使用本机VM虚拟机如下:

不确认这个虚拟机自己有没有装过Mysql版本,想办法确认:

yum list installed mysql*

rpm -qa | grep mysql*

whereis mysql

 yum和rpm指令没有发现有mysql,但是whereis命令有发现

/usr/lib64/mysql

/usr/share/mysql

继续分析

rpm -qa | grep mariadb

 强制删除rpm -e mariadb-libs-5.5.64-1.el7.x86_64 --nodeps,再检查没有了

 开始安装Mysql:

 

2.1.1.使用MySQL慢查日志

show variables like 'slow_query_log';

设置日志存储目录,无效

set global slow_query_log_file = 'D:\sql_log\mysql-slow.log'

 需要设置成

set global slow_query_log_file = 'D:/sql_log/mysql-slow.log'

记录没有使用索引的SQL

set global log_queries_not_using_indexes=on;

 打开慢查询

set global slow_query_log=on;

设置慢查询标准时间(会出现不生效),也可以设置0.01秒看效果

set global long_query_time=1;

这里不要担心,实际效果是已经生效了,只要把数据库停用再打开,就可以看到效果了。

show variables like 'slow_query_log';
show variables like '%log%';
show variables like 'long_query_time';

测试效果:

show TABLES;
SELECT * FROM store limit 10;

日志里:(#Time,#User,  #Query time)

2.1.2.慢查日志分析工具:mysqldumpslow

生产上开了慢查日志后,日志量会很大,需要有分析工具。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值