索引:本质是数据结构,简单理解为:排好序的快速查找数据结构,以索引文件的形式存储在磁盘中。
目的:提高数据查询的效率,优化查询性能,就像书的目录一样。
优势:提高检索效率,降低IO成本;排好序的表,降低CPU的消耗
劣势:索引实际也是一张表,该表保存了主键与索引字段,并指向实体表的记录,占用空间;降低更新表的速度(改数据表本身,也需要修改索引);花时间研究建立最优秀的索引。

索引优化分析主要包括几个部分,其中对Explain关键字进行详细了解。

Explain关键字:使用Explain 关键字可以模拟优化器执行SQL查询语句,从而知道MySQL是如何处理你的SQL语句的,分析你的查询语句或是表结构的性能瓶颈。

Explain能干嘛:表的读取顺序、数据读取操作的操作类型、哪些索引可以使用、哪些索引被实际使用、表之间的引用、每张表有多少行被优化器查询。

Explain +SQL语句计划执行包含的信息:id |select_type |table |patitions |type |possible_keys |key |key_len |ref |rows |filtered |extra|

二、查询截取分析主要包括5个部分:查询优化、慢日志查询、批量数据脚本、show profile、全局查询日志等信息,这里主要了解了2部分。

1、查询优化:永远小表驱动大表;Order by ;Group by

2、慢日志查询

图表里面主要包括是什么、怎么玩、日志分析工具,从左往右进行查看。

慢查询日志:Mysql提供的一种日志记录,运行时间超过long_querry_time值得SQL,会被记录到慢查询日志中。long_querry_time默认等于10s.

慢日志具体操作代码如下:

慢日志查询
SHOW VARIABLES LIKE 'long_query_time%';#查看慢查询的时间阈值,默认显示为10S SHOW VARIABLES LIKE '%slow_query_log%';#查看是否开启 set global slow_query_log=1; #设置为1,开启慢查询日志 set global long_query_time=0.001;#设置慢查询的时间为0.001,超过0.001就显示为慢查询 select * from sleep(1); #睡眠1s show global status like '%Slow_queries';#查询慢查询的条数,需要优化的条数 mysqldumpslow -s r -t /var/lib/mysql/RMT01-slow.log;#路径就是查询是否开启中show_query_log_file的文件路径

最新文章

  1. 【转】iOS动态库和静态库的简要介绍
  2. XSS跨站测试代码大全
  3. OpenCv全景图像拼接
  4. 初识Aop和扩展Aop
  5. Floyd算法解决多源最短路径问题
  6. 内部使用final参数的原因
  7. 制作简易计算器处理结果Servlet
  8. Netty源码阅读(一) ServerBootstrap启动
  9. linux cent os putty 问题彻底解决办法
  10. Windows phone 8 学习笔记(5) 图块与通知
  11. Springboot启动源码详解
  12. idea Code激活
  13. C#总结(六)EventBus事件总线的使用-自己实现事件总线
  14. 干货!从Tomcat执行流程了解jsp是如何被解析的,错误提示是哪里生成的。
  15. 兼容ie8总结
  16. arcgis server备份还原过程
  17. C#图片文字识别
  18. linux shell重定向
  19. centos中安装tomcat6
  20. Ant压缩与解压缩

热门文章

  1. 跟我一起学Redis之Redis事务简单了解一下
  2. Java中float浮点型变量不加F报错情况
  3. SSH个人小结
  4. nginx&http 第四章 ngx http代理 upstream流程图
  5. tcp 接收被动关闭 fin
  6. HotSpot的启动过程(配视频进行源码分析)
  7. OMV openmediavault NAS系统命令显示颜色
  8. Java基础—Java方法的调用
  9. php 数据转储Excel文件
  10. 用Camtasia来快速地给视频添加水印