1.mysq 数据优化可以从以下几方面进行优化:
1、sql及索引优化。
2 数据库表结构,根据数据设计查询最优的表结构。
3,系统配置优化,对打开文件数和安全的限制。
4、硬件,选择最适合数据库的cpu,更快的IO,更大的内存,cpu不是越多越好, IO并不能减少锁的机制,也就是不能减少阻塞,所以说硬件的优化成本越高,效果最差。
2.sql语句优化
2-1数据准备
下载,解压是两个sql文件
使用navicat执行两个sql文件,先执行schema.sql,然后执行data.sql,主要不需要自己建立数据库,自动创建
查看是否打开慢查询日志:
show variables like 'slow_query_log';
如果查到是off, 说明没有开启该功能, 使用如下命令开启:
set global slow_query_log=on;
查看是否将没有建立索引的查询列入慢查询记录:
show variables like '%log%';
显示的结果中有一项"log_queries_not_using_indexes"值为off, 说明没有开启, 使用下面的命令开启:
set global log_queries_not_using_indexes=on;
查看慢查询时间设置:
show variables like'long_query_time';
显示的值为"0.00000"则表示要将所有查询记录到日志.
设置慢查询时间设置:
set global long_query_time=0;
设置为零则记录所有查询信息.
使用如下命令查看查询日志的文件位置:
show variableslike 'slow%';
可以看到有一项"slow_query_log_file"的值为"G:\mysql-8.0.19-winx64\data\DESKTOP-91QBBK9-slow.log", 这就是慢查询日志文件的存放位置.
mysqldumpslow工具的使用:
mysqldumpslow -t 3 慢查询日志文件路径 | more //表示使用mysqldumpslow工具分析3条慢查询语句
报表内容:
Count:执行的行数
Time: 执行的时间
Lock: 锁定时间
Rows: 行数
服务器信息
SQL内容等
因为我安装的是mysql 8,发现在mysql bin目录下是没有mysqldumpslow.exe文件,解决方法如下
安装完成后
代表可以用了
然后我们打开G:\Perl\cjlog目录
打开text文件,查询访问
不会的话参考windows下使用MYSQL的mysqldumpslow进行慢日志分析
安装教程
命令行
打开bbb.txt就可以查看