1.SQL前面加 EXPLAIN 定位到sql级别

各个属性的含义

id

select查询的序列号

select_type

select查询的类型,主要是区别普通查询和联合查询、子查询之类的复杂查询。

table

输出的行所引用的表。

type

联合查询所使用的类型。

type显示的是访问类型,是较为重要的一个指标,结果值从好到坏依次是:

system > const > eq_ref > ref > fulltext > ref_or_null > index_merge > unique_subquery > index_subquery > range > index > ALL

一般来说,得保证查询至少达到range级别,最好能达到ref。

possible_keys

指出MySQL能使用哪个索引在该表中找到行。如果是空的,没有相关的索引。这时要提高性能,可通过检验WHERE子句,看是否引用某些字段,或者检查字段不是适合索引。

key

显示MySQL实际决定使用的键。如果没有索引被选择,键是NULL。

key_len

显示MySQL决定使用的键长度。如果键是NULL,长度就是NULL。文档提示特别注意这个值可以得出一个多重主键里mysql实际使用了哪一部分。

ref

显示哪个字段或常数与key一起被使用。

rows

这个数表示mysql要遍历多少数据才能找到,在innodb上是不准确的。

Extra

如果是Only index,这意味着信息只用索引树中的信息检索出的,这比扫描整个表要快。

如果是where used,就是使用上了where限制。

如果是impossible where 表示用不着where,一般就是没查出来啥。

如果此信息显示Using filesort或者Using temporary的话会很吃力,WHERE和ORDER BY的索引经常无法兼顾,如果按照WHERE来确定索引,那么在ORDER BY时,就必然会引起Using filesort,这就要看是先过滤再排序划算,还是先排序再过滤划算。

2、使用PROFILING 功能可以很清楚的找出一个Query 的IO和cup的瓶颈所在。(百度一下,有很多)

mysql定位数据库_MySQL数据库Query性能定位相关推荐

  1. mysql 关联查询_mysql数据库调优(二)

    第五.查询优化 1.查询慢的原因:网络因素.CPU.IO.上下文切换.系统调用.生成统计信息.锁等待时间等 2.优化数据库访问:查询性能地下的原因是访问的数据太多,某些查询不可避免的需要筛选大量的数据 ...

  2. mysql 进阶方向_mysql数据库入门、进阶和提升(续二)

    第十章 创建计算字段 将表中不同列中的数据字段通过拼接.加减乘除运算计算出结果并单独显示出来. 10.2拼接字段 将不同字段的值连接在一起并构成单个值.使用函数concat(),如果要将此值独立出来需 ...

  3. mysql字段约束_mysql数据库之表操作及字段约束条件

    一.存储引擎 二.表介绍 表相当于文件,表中的一条记录就相当于文件的一行内容,不同的是,表中的一条记录有对应的标题,称为表的字段 id name age sex 1 li 12 male 2 liu ...

  4. mt5 mysql数据库_MySQL数据库配置主从复制

    数据库主从复制 先本机模拟实现数据库主从复制.(本次使用MySql数据库,数据库版本5.7.25) 实现步骤: ​1.安装第二个MySql数据库 ​2.配置数据库 ​3.在SpringBoot里实现数 ...

  5. mysql断网_mysql数据库断网链接

    {"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],&q ...

  6. mysql 关闭锁_mysql数据库取消锁

    {"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],&q ...

  7. mysql 表上限_mysql 数据库表的上限

    {"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],&q ...

  8. mysql test数据库_mysql数据库test

    Re介绍一下CentOS下MySQL数据库的安装与配置方法 MySQL数据库配置的具体步骤: 1.编辑MySQL的配置文件,使用vi /etc/my.cnf [root@sample ~]# vi / ...

  9. mysql安全性特点_MySQL数据库有哪些特点?为何能得到了广泛应用?

    MySQL.Oracle以及Microsoft SQL Server等数据库是基于客户机-服务器的数据库.客户机-服务器应用分为两个不同的部分.服务器部分是负责所有数据访问和处理的一个软件.这个软件运 ...

  10. mysql case默认_MySQL数据库架构和同步复制流程

    在分布式系统里面,往往制约整个系统发展的瓶颈点就是数据库,所以数据库的架构和高可用以及数据库的切分都是我们值得花大力气去学习的. 首先我们来说说数据库的架构. 1.mysql主从架构,如图: 这种架构 ...

最新文章

  1. Aria2打造属于自己的下载神器
  2. 突发!Log4j 爆“核弹级”漏洞,Flink、Kafka等至少十多个项目受影响
  3. 使用中文输入法时对键盘事件的处理
  4. HGST:中国将成为新云端运算大国
  5. GitHub趋势榜第一:超强PyTorch目标检测库Detectron2,训练更快,支持更多任务
  6. Vue.js 事件处理
  7. hdu 5246(贪心)
  8. [转] yaml基础
  9. Rm –rf误删除了一个数据文件,而备份集恰好损坏,请写出恢复步骤
  10. JS面向对象,__proto__和prototype详解
  11. web调试:ie缓存
  12. 浅议基因测序技术的代际:后记
  13. 最新 android 机型,安卓11支持哪些机型,Android11适配机型一览
  14. 计算机二级C语言公共基础知识,以及习题总结(三)查找和排序
  15. 立体视觉:合成数据集的解析与工具
  16. ept技术_EPT和VPID简介 - osc_3xz91vxi的个人空间 - OSCHINA - 中文开源技术交流社区
  17. vue组件之Prop属性
  18. hdu 1205 吃糖果(数学)
  19. c语言程序教师节祝福,2015年教师节祝福语(大学生适用)
  20. 获取手机屏幕大小、密度、分辨率、状态栏、标题栏高度

热门文章

  1. python同时赋值_Python 中变量赋值传递时的引用和拷贝
  2. Firefox 将添加画中画功能
  3. 理解JavaScript内联命名函数---var fun = function f() {}
  4. android module驱动编程及通信
  5. 内存非延续分派治理方法
  6. 【JAVA笔记——器】Spring MVC + HATEOAS RestFul快速搭建
  7. mysql bit_or() bit_count()函数
  8. 3、无重复字符的最长子串(python)
  9. 剑指_6从尾到头打印链表(Python)
  10. [UI列表]LoopScrollRect无限滑动不卡顿