Mysql Query Optmize: 查询优化器, SQL语句会给Query Optimize他会执行他认为最优的方式..

Mysql 常见问题

  CPU饱和,IO磁盘发生在装入数据大于内存时.

Explain 查询解析使用

  id, select_type, table,type,  possible_keys, key , key_len, ref, rows, Extra

id  -  表的执行顺序

  值相同: 按顺序执行

  值不同,: 值越大, 先执行. 如子查询

select_type - 数据读取操作的操作类型

SIMPLE, PRIMARY, SUBQUERY, DERIVED, UNION, UNION RESULT 主要6个表示子查询,复杂查询等

table - 表名

derived 虚表

type -  访问类型

最好的的依次:

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

  system > const > eq_ref > ref  > range > index > all  , 主要常用最好到ref range级别

all: 全表扫描, 从硬盘读取数据

index:   index全索引扫描,比All快.比如只找主键列值

range:  检索指定范围的行, 使用索引来选择行,

ref:       非唯一性索引扫描, 返回所有匹配的单独行,可以找到多个复合条件的行, 属于查找和扫描的混合体, 比如复合索引2列,找其中1列..

eq_ref:  唯一性索引扫描, 表只有一条记录与之匹配, 常见主键货唯一索引, 比如部门表,ID唯一,员工表有部门id,  联合查询

const:   通过索引1次找到, 主键,唯一键 只匹配一行数据,比如通过主键查一条记录

system: 只有一条记录的表, 忽略不计

- 哪些索引可以使用

possible_keys:  可能使用的索引, 不一定使用

key:       真实使用的索引,若为NULL未使用索引, 若使用覆盖索引(查询的列被索引覆盖),则只出现在key中,  比如查询的字段是复合索引的顺序一样,列一样,

key_len              标识索引使用的字节数, 越少越好,

rows -  哪些行被优化器查询

Extra - 包含不适合在其他列中显示的十分重要的信息

Using filesort:      (严重)文件索引, 无法利用索引完成的排序,排序按照索引顺序.

Using temporary  (严重)生成了临时表

Using index         效率不错, 索引被用来执行索引键值查找,

Using where

Using join buffer, 使用连接缓存JOIN使用比较多

Impossible where  SQL有问题, 不可能的SQL

select tables optimezed away

distinct

Mysql 性能分析 Explain的更多相关文章

  1. MySQL性能分析及explain的使用

    MySQL性能分析及explain用法的知识 1.使用explain语句去查看分析结果 如explain select * from test1 where id=1;会出现:id  selectty ...

  2. MySQL性能分析及explain的使用说明

    1.使用explain语句去查看分析结果 如explain select * from test1 where id=1;会出现:id selecttype table type possible_k ...

  3. MySQL性能分析, mysql explain执行计划详解

    MySQL性能分析 MySQL性能分析及explain用法的知识是本文我们主要要介绍的内容,接下来就让我们通过一些实际的例子来介绍这一过程,希望能够对您有所帮助. 1.使用explain语句去查看分析 ...

  4. SQL优化 MySQL版 -分析explain SQL执行计划与笛卡尔积

    SQL优化 MySQL版 -分析explain SQL执行计划 作者 Stanley 罗昊 [转载请注明出处和署名,谢谢!] 首先我们先创建一个数据库,数据库中分别写三张表来存储数据; course: ...

  5. mysql性能分析show profile/show profiles

    MySQL性能分析show profiles show profile 和 show profiles 语句可以展示当前会话(退出session后,profiling重置为0) 中执行语句的资源使用情 ...

  6. MySQL性能分析和优化-part 1

    MySQL性能优化 平时我们在使用MySQL的时候,怎么评估系统的运行状态,怎么快速定位系统瓶颈,又如何快速解决问题呢? 本文总结了多年来MySQL优化的经验,系统介绍MySQL优化的方法. OS性能 ...

  7. mysql性能分析-------profiling和explain

    1. profiling之性能分析 MySQL5.0.37版本以上支持了Profiling – 官方手册.此工具可用来查询 SQL 会执行多少时间,System lock和Table lock 花多少 ...

  8. mysql性能分析工具

    一.EXPALIN 在SQL语句之前加上EXPLAIN关键字就可以获取这条SQL语句执行的计划 那么返回的这些字段是什么呢? 我们先关心一下比较重要的几个字段: 1. select_type 查询类型 ...

  9. MySQL性能分析show profiles详解

    前言 前几篇文章我们讲了什么是 MySQL 索引,explain分析SQL语句是否用到索引,以及索引的优化等一系列的文章,今天我们来讲讲Show profiles,看看SQL耗时到底出现在哪个环节. ...

随机推荐

  1. Hadoop1.2.1完全分布模式安装教程

    假设有三台机器,它们的IP地址和对应的主机名为: 192.168.12.18           localhost.localdomain 192.168.2.215           rhel5 ...

  2. IOS-适配iOS10以及Xcode8

    现在在苹果的官网上,我们已经可以下载到Xcode8的GM版本了,加上9.14日凌晨,苹果就要正式推出iOS10系统的推送了,在此之际,iOS10的适配已经迫在眉睫啦,不知道Xcode8 beat版本, ...

  3. 关闭定时器(setTimeout/clearTimeout|setInterval/clearInterval)

    1.1 开启Timeout程序: scope.setTimeout("functionName()" | functionHandle, timeValue) 返回值:timerI ...

  4. 快速切题 sgu136. Erasing Edges

    136. Erasing Edges time limit per test: 0.25 sec. memory limit per test: 4096 KB Little Johnny paint ...

  5. halcon之共线连接union_collinear_contours_xld

    union_collinear_contours_xld 很多时候当我们用edges_sub_pix, threshold_sub_pix  等算子得到边缘后,因为有噪声.物体本身断裂等原因 很多边缘 ...

  6. 创芯Xilinx Microblaze 学习系列第一集

    创芯Xilinx Microblaze 学习系列第一集 Xilinx ISE Design Suite 13.2 The MicroBlaze™ embedded processor soft cor ...

  7. 使用百度地图SDK出现的问题及解决方法

    1. 第一个错误信息如下: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.baiduma ...

  8. 记录一些js框架用途

    accounting.min.js 货币格式化alertify.min.js 提示信息库amd.loader.js 按需动态加载js文件angular-cookies.js 处理cookieangul ...

  9. mt7601u: probe of xxxx failed with error -2

    /************************************************************************ * mt7601u: probe of xxxx f ...

  10. CI框架------codeIgniter

    之前学习了thinkphp,学完之后印象不太深刻,在网上询问了一下,他们都说多学几个框架,以后可以自己写框架. 于是自己就放下thinkphp,下定决心再学一个,于是又从网上看了几个框架,综合比较了一 ...