mysql性能分析

Mysql性能分析

GRANT ALL PRIVILEGES ON *.* TO "root"@"%" IDENTIFIED BY "123456" WITH GRANT OPTION;
flush privileges
	一:Mysql中有专门负责优化SELECT语句的优化器模块,主要功能:通过计算分析系统中收集到的统计信息,
	
	为客户端请求的Query提供他认为最优的执行计划(他认为最优的数据检索方式,但不见得是DBA认为最优的,这部分最耗费时间)
	
	二:当客户端向Mysql请求一条Query,命令解析器模块完成请求分类,区别出是SELECT并转发给Mysql Query Optimize时,
	
	并对Query中的查询条件进行简化和转换,如去掉一些无用或显而易见的条件,结构调整等,然后分析Query中的Hint信息(如果
	
	有)看显示Hint信息是否可以完全确定该Query的执行计划,如果没有Hint或Hint信息还不足以完全确定执行计划,则会读取所
	
	涉及对象的统计信息,根据Query进行写相应的计算分析,然后再得出最后的执行计划,

Mysql常见的瓶颈

	一:CPU,CPU在饱和的时候一般发生在数据装入内存或从磁盘上读取数据时候
	
	二:IO,磁盘IO瓶颈发生在装入数据远大于内存容量的时候
	
	三:服务器硬件的性能瓶颈,top,free,iostat和vmstat来查看系统的性能状态。

Explain关键模拟优化器

怎么玩:Explain	+SQL语句

执行计划包含的信息

在这里插入图片描述

字段解释:

一:id 属性

id:select查询的序列号,包含一组数字,标识查询中执行select子句或操作表的顺序。

**三种情况:**

	表的读取情况
	
	**1.1:id相同:执行的顺序由上到下**

在这里插入图片描述

		**1.2:id不同:如果是子查询,id的序号会递增,id值越大优先级越高,越先被执行**

在这里插入图片描述

	**1.3:id相同于不同,同时存在**
	
	id如果相同,可以认为是一组,从上往下顺序执行;
	
	在所有组中,id值越大,优先级越高,越先被执行;

在这里插入图片描述

二:数据读取操作的操作类型 select_type 属性

**select_type有哪些类型**

	一:SIMPLE:	简单的select查询,查询中不包含子查询或者UNION;
	
	二:PRIMARY:	查询中若包含任何复杂的子部分,最外层查询则被标记为
	
	三:	SUBQUERY:在SELECT或WHERE列表中包含子查询
	
	四:DERIVED:	在FROM列表中包含的子查询被标记为DERIVED(衍生),mysql会递归这姓这些子查询,把结果放在临时表里。
	
	五:UNION:	若第二个SELECT出现在UNION之后,则被标记为UNION;若UNION包含在FROM子句的子查询中,

	外层SELECT将被标记为:DERIVED
	
	六:UNION  RESULT:	从UNION表获取结果的SELECT
	
	查询的类型,主要是用于区别,普通查询,联合查询,子查询等的复杂查询

三:table属性

	显示这一行的数据是关于哪张表的。

四:type 属性 访问类型排序

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值