博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mysql优化学习笔记
阅读量:6711 次
发布时间:2019-06-25

本文共 678 字,大约阅读时间需要 2 分钟。

优化sql的一般步骤

  1. 通过show status了解各种sql的执行频率

  2. 定位执行效率低的sql语句

  3. 通过explain分析效率低的sql

  4. 通过show profile分析sql

  5. 通过trace分析优化器如何选择执行计划

  6. 确定问题,采取措施优化

索引优化措施

  1. mysql中使用索引的典型场景

    1. 匹配全值,条件所有列都在索引中而且是等值匹配

    2. 匹配值的范围查找,字段必须在索引中

    3. 匹配最左前缀,复合索引只会根据最左列进行查找

    4. 仅仅对索引进行查询,即查询的所有字段都在索引上

    5. 匹配列前缀,比如like 'ABC%',如果是like '%aaa'就不可以

    6. 如果列名是索引,使用column is null会使用索引

  2. 存在索引但不会使用索引的典型场景

    1. 以%开头的like查询不能使用b树索引

    2. 数据类型出现隐式转换不能使用索引

    3. 复合索引,查询条件不符合最左列原则

    4. 用or分割的条件,如果前面的条件有索引,而后面的条件没有索引

  3. 查看索引使用的情况

show status like 'Handler_read%';

如果Handler_read_rnd_next的值比较高,说明索引不正确或者查询没有使用到索引

简单实用的优化方法

  1. 定期检查表和分析表

    分析表语法:

analyze table 表名;

检查表语法:

check table 表名;
  1. 定期优化表

    • 对于字节大小不固定的字段,数据更新和删除会造成磁盘空间不释放,这时候就行优化表,可以整理磁盘碎片,提高性能

      语法如下:

optimize table user(表名);

如果文章对你有帮助,请去我的博客留个言吧!

转载地址:http://nwolo.baihongyu.com/

你可能感兴趣的文章
用Vue封装Swiper实现图片轮播很简单
查看>>
Android Sensor源码分析总结
查看>>
(基础系列)object clone 的用法、原理和用途
查看>>
图片 文件 转base64
查看>>
Spring Cloud分布式微服务云架构集成项目
查看>>
springmvc整合dubbo
查看>>
函数防抖
查看>>
2月阅读书单及推荐(前端)
查看>>
面试中并发类问题的准备和学习
查看>>
Vuex源码学习(四)module与moduleCollection
查看>>
python基础总结 Part.1
查看>>
【OC梳理】description
查看>>
一篇不太一样的RxJava介绍(二):关于操作符背后的故事
查看>>
FFmpeg模块介绍
查看>>
张家口a货翡翠,梧州a货翡翠
查看>>
JS Object的静态方法汇总( 上 )
查看>>
到手机里面去点击信任就行了。每次都是这样出错。
查看>>
java B2B2C Springcloud多租户电子商城系统-Eureka服务端与客户端常用配置
查看>>
(十一)java版b2b2c社交电商spring cloud分布式微服务-docker部署spring cloud项目
查看>>
jvm疯狂吞占内存,罪魁祸首是谁?
查看>>