9 mysql调优

1、优化数据访问

查询性能低下的原因是访问的数据太多,原因通常是:

1.通常是访问了太多的行,尤其是没有必要的行,或者是访问了太多的列。
2.确认MySQL服务器层分析是否存在大量超过需要的数据行。

这些不必要的查询,给MySQL服务器带来了额外的负担,并增加了网络开销l,另外也会消耗应用服务器的cpu和内存资源。
举例说明:

1.一个常见的错误是常常会误以为MySQL会只返回需要的数据,实际上MySQL却是先返回全部结果集再进行计算。
select * from mytableA limit 10000,20;
-- 以上SQL你认为MySQL会执行查询,并只返回他们需要的20条数据,然后停止查询
-- 实际情况是MySQL会查询出全部的结果集,客户端的应用程序会接收全部的结果集数据,然后抛弃其中不需要的数据

响应时间:服务时间和排队时间之和

1.服务时间:指数据库处理查询真正花的时间。
2.排队时间:指服务器因为等待某些资源而没有真正执行查询的时间—-可能是等I/O操作完成,也可能是等待行锁,等

执行计划详解

1.id : 在一个大的查询语句中每个SELECT关键字都对应一个唯一的id。
2.select_type : SELECT关键字对应的那个查询的类型。
3.table :表名
4.partitions :匹配的分区信息。
  一般情况下我们的查询语句的执行计划的partitions列的值都是NULL
5.type :针对单表的访问方法。
6.possible_keys :可能用到的索引
7.key :实际上使用的索引
8.key_len :实际使用到的索引长度
9.ref :当使用索引列等值查询时,与索引列进行等值匹配的对象信息
10.rows :预估的需要读取的记录条数
11.filtered :某个表经过搜索条件过滤后剩余记录条数的百分比
12.Extra :—些额外的信息

未完待续

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值