12-mysqlsql分析实例

  1. explain 
  2. profile

explain 

SQL优化->减少IO ->减少扫描的数据量。这样可以看出索引有没有用。

rows => 这呢代码sql在该优化器的执行方案中扫描的大约数据量与实际的数据有要少 ;
注意如果在实际项目中, 需要做一个某个统计操作的时候需要的数据不一定正确,这个时候
我们就使用explain来获取

select_ type:查询类型不是核心要素
SIMPLE:除了子查询或union之外的查询显示
partitions :参数的使用
type:类型. >当前sq|扫描类型
           all:全表扫描性能最低
      index:全索引扫描->就是根据索引去获取结果
      const:读常量->主键和唯一字段(主键就是告诉数捱 库,数据的存
       rang:索弓|的范围查询
   eq_ ref: 最多只会有一条结果主要是也是唯一 索引

possible_ key:代表这条sq|语句可能使用到的索引是哪些
key:来决定最终使用的索引

key_len:索引的大小

extra:这是描述细节信息
null:       如果key中有标识索引那么这是一个问题叫"回表" ->使用了但是效率不- -定很高
using index:  覆盖索引->就是直接通过索引获取到了数据(效率最高)
using where:  根据条件过,虽然可能使用了索引但是,最终还是会根据条件进行数据的过滤
using temporary:意味着产生了一一个临时表
using filesort:  会对于数据在索引|外进行了排序操作

show   indexes from  customers1 ; #查看当前表所使用的索引

可以分析mysql sq|l的执行过程的性能瓶颈问题- >-般主要 是还是使用explain
判断一条查询的效率内存消耗,I/O消耗,CPU消耗等情况
show profile是需要开启的

set profiling = 1;                  # =>会监控之后的sq|在运行过程中执行的情况->资源消耗的情况
select count(*) from customers1;
show profiles;
show profile for query  136 ;       #query id              

query_ id:执行的sq|序列号
Duration :执行所消耗的实际
query:执行的sql

 

 

数据库卡的时候可以看看这个事务表,有哪些在跑。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值