zoukankan      html  css  js  c++  java
  • mysql性能分析

    查看mysql线程的状态
    show processlist;

    1.查看表被锁状态show OPEN TABLES where In_use > 0; 这个语句记录当前锁表状态 

    查看正在锁的事物:SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCKS;

    查看等待锁的事物:SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCK_WAITS;

    清空表缓存
    mysql> flush tables;
    执行计划查看  explain
    mysql> explain select * from clm_treatment;
    +----+-------------+---------------+------------+------+---------------+------+---------+------+------+----------+-------+
    | id | select_type | table         | partitions | type | possible_keys | key  | key_len | ref  | rows | filtered | Extra |
    +----+-------------+---------------+------------+------+---------------+------+---------+------+------+----------+-------+
    |  1 | SIMPLE      | clm_treatment | NULL       | ALL  | NULL          | NULL | NULL    | NULL |  845 |   100.00 | NULL  |
    +----+-------------+---------------+------------+------+---------------+------+---------+------+------+----------+-------+
    1 row in set, 1 warning (0.00 sec)

    每一个字段的含义

      • id
        表示查询中select操作表的顺序,按顺序从大到依次执行
      • select_type :
        该表示选择的类型,可选值有: SIMPLE(简单的),
      • type :
        该属性表示访问类型,有很多种访问类型。
        最常见的其中包括以下几种: ALL(全表扫描), index(索引扫描),range(范围扫描),ref (非唯一索引扫描),eq_ref(唯一索引扫描,),(const)常数引用, 访问速度依次由慢到快。其中 : range(范围)常见与 between and …, 大于 and 小于这种情况。
        提示 : 慢SQL是否走索引,走了什么索引,也就可以通过该属性查看了。
      • table :
        表示该语句查询的表
      • possible_keys :
        顾名思义,该属性给出了,该查询语句,可能走的索引,(如某些字段上索引的名字)这里提供的只是参考,而不是实际走的索引,也就导致会有possible_Keys不为null,key为空的现象。
      • key :
        显示MySQL实际使用的索引,其中就包括主键索引(PRIMARY),或者自建索引的名字。
      • key_len :
        表示索引所使用的字节数,
      • ref :
        连接匹配条件,如果走主键索引的话,该值为: const, 全表扫描的话,为null值
      • rows :
        扫描行数,也就是说,需要扫描多少行,采能获取目标行数,一般情况下会大于返回行数。通常情况下,rows越小,效率越高, 也就有大部分SQL优化,都是在减少这个值的大小。注意:  理想情况下扫描的行数与实际返回行数理论上是一致的,但这种情况及其少,如关联查询,扫描的行数就会比返回行数大大增加)
      • Extra
        这个属性非常重要,该属性中包括执行SQL时的真实情况信息,如上面所属,使用到的是”using where”,表示使用where筛选得到的值,常用的有:
        “Using temporary”: 使用临时表 “using filesort”: 使用文件排序
     
     
  • 相关阅读:
    【Unity游戏开发】Android6.0以上的动态权限申请问题
    【游戏开发】网络编程之浅谈TCP粘包、拆包问题及其解决方案
    【Unity游戏开发】你真的了解UGUI中的IPointerClickHandler吗?
    【Unity游戏开发】记一次解决 LuaFunction has been disposed 的bug的过程
    【年终总结】马三北漂记之8102年总结
    【小白学Lua】之Lua变长参数和unpack函数
    【计算机图形学】计算机图形学中的坐标系统
    【Unity游戏开发】tolua之wrap文件的原理与使用
    【游戏开发】基于VS2017的OpenGL开发环境搭建
    【Unity游戏开发】用C#和Lua实现Unity中的事件分发机制EventDispatcher
  • 原文地址:https://www.cnblogs.com/mutong1228/p/10281039.html
Copyright © 2011-2022 走看看