MySQL(七)--关于慢查询

MySQL(七)–关于慢查询

MySQL服务器处理查询请求的整个过程:

  • 客户端发送SQL强求给服务器
  • 服务器检查是否可以在查询缓存中命中该SQL
  • 服务器端进行SQL解析,预处理,再由优化器生成对应的执行计划
  • 根据执行计划,调用存储引擎API来查询数据
  • 将结果返回给客户端

查询性能低下最基本的原因是访问的数据太多。

一,如何优化慢查询?

1,首先开启慢查询日志

如:long_query_time(多长时间视为慢查询)
slow_query_log(是否开启了慢查询日志,off表示未开启)
slow_query_log_file(慢查询日志存放的位置)

2.慢查询优化思路

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

3,分析慢查询语句,来进行相应的优化

①建立索引
②减少表之间的关联
③优化sql,尽量让sql很快定位数据,不要让sql做全表查询,应该走索引,把数据量大的表排在前面
④简化查询字段,没用的字段不要,已经对返回结果的控制,尽量返回少量数据

二,数据库优化的方法:

1,SQL语句优化:
①应该尽量避免在where子句中使用!=或者<>操作符,否则将引擎放弃使用索引而进行全表扫描
②应尽量避免在where子句中对字段进行null值判断,否则将导致引擎放弃使用而进行全表扫描
③很多时候,用exits代替in是一个很好的选择
④用where子句替代ha

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值