二十、SQL 查询优化

一、MySQL 日志类型
常用日志种类及选项

类型

用途

配置

错误日志

记录启动 / 运行 / 停止过程中的错误消息

log-rror[=name] 

查询日志

 

 

记录客户端连接和查询操作

general-log

general-log-file= 

慢查询日志

记录耗时较长或不使用索引的查询操作

 

slow-query-log

slow-query-log-file=

long-query-time=

 

 二、优化 SQL 查询

1.记录慢查询

选项

含义

slow-query-log 

启用慢查询 

slow-query-log-file

指定慢查询日志文件 

long-query-time

超过指定秒数(默认 10秒)的查询才被记录

log-queries-not-using-indexes

记录未使用索引的查询

 

 2. 调整服务配置

[root@master ~]# vim /etc/my.cnf

slow_query_log=1

slow_query_log_file=mysql-slow.log

long_query_time=5

log_queries_not_using_indexes=1

[root@master ~]# systemctl restart mysqld

3. 查看慢查询日志

– 使用 mysqldumpslow 工具

[root@master ~]# mysqldumpslow /var/lib/mysql/mysql-slow.log

 

Reading mysql slow query log from /var/lib/mysql/mysql-slow.log

Count: 1  Time=0.00s (0s)  Lock=0.00s (0s)  Rows=0.0 (0), 0users@0hosts

三、关于查询的缓存

1.查看缓存的大小

mysql> SHOW VARIABLES LIKE "query_cache%";

 

2. 查看当前的查询缓存统计

mysql> show global status like "qcache%";

 

四、MySQL 性能调优的思路

手段

具体操作

升级硬件

CPU、内存、硬盘

加大网络带宽

付费加大带宽

调整 mysql 服务运行参数

并发连接数、连接超时时间、重复使用的线程数

调整与查询相关的参数

查询缓存、索引缓存 .......

启用慢查询日志

slow-query-log

网络架构不合理

调整网络架构

posted @ 2021-06-24 16:40  落樰兂痕  阅读(44)  评论(0)    收藏  举报