当前位置: 首页 > news >正文

启东市住房城乡建设局网站冯耀宗seo博客

启东市住房城乡建设局网站,冯耀宗seo博客,闵行区网站开发,网站建设属于什么发票前言 在实际工作中,如果已经定位到某些具体的sql需要进行explain分析进而优化,可以直接使用explainsql来分析其执行计划;如果还不能确定是哪些具体的sql语句需要进行explain分析进而优化,那么我们可以首先要定位哪些sql查询慢&…

前言

在实际工作中,如果已经定位到某些具体的sql需要进行explain分析进而优化,可以直接使用explain+sql来分析其执行计划;如果还不能确定是哪些具体的sql语句需要进行explain分析进而优化,那么我们可以首先要定位哪些sql查询慢,性能低,消耗高;

定位低效sql

  • 慢查询日志,可以通过开启慢查询日志来定位低效sql,它是通过设置慢查询时间阈值(默认是10s)或者设置查询没有走索引的sql记录到慢查询日志中;mysql性能优化之慢查询
  • show processlist :慢查询日志在查询结束以后才纪录,所以在应用反映执行效率出现问题的时候查询慢查询日志并不能定位问题,可以使用show processlist命令查看当前MySQL在进行的线程,包括线程的状态、是否锁表等,可以实时地查看 SQL的执行情况,同时对一些锁表操作进行优化。

explain介绍

使用explain分析执行计划实际上是:模拟优化器执行SQL语句;分析你的查询语句或是结构的性能瓶颈,使用方式explain 需要分析的查询sql,MySQL 会在查询上设置一个标记,执行查询会返回执行计划的信息, 而不是执行这条SQL 注意:如果 from 中包含子查询,仍会执行该子查询,将结果放入临时表中。

在mysql官网中与explain相关的文章也有很多,首推去官网阅读学习
了解查询执行计划
在这里插入图片描述
我们能通过explain + sql知道些什么了?

  • 表的读取顺序
  • 数据读取操作的操作类型
  • 哪些索引可以使用
  • 哪些索引被实际使用
  • 表之间的引用
  • 每张表有多少行被优化器查询 …

话不多说,直接拿一条sql使用explain来分析一下,并对它的一些参数进行解读;
为了测试,有2张表emp和dept;
在这里插入图片描述

explain select * from dept;

在这里插入图片描述

+----+-------------+-------+------------+------+---------------+------+---------+------+--------+----------+-------+
| id | select_type | table | partitions | type | possible_keys | key  | key_len | ref  | rows   | filtered | Extra |
+----+-------------+-------+------------+------+---------------+------+---------+------+--------+----------+-------+
|  1 | SIMPLE      | emp   | NULL       | ALL  | NULL          | NULL | NULL    | NULL | 498343 |      100 | NULL  |
+----+-------------+-------+------------+------+---------------+------+---------+------+--------+----------+-------+
1 row in set

字段解读

字段含义
idselect查询的序列号,是一组数字,表示的是查询中执行select子句或者是操作表的顺序。
select_type表示 SELECT 的类型,常见的取值有:1.SIMPLE(简单表,即不使用表连接或者子查询)、2.PRIMARY(主查询,即外层的查询)、3.UNION(UNION 中的第二个或者后面的查询语句)、4.SUBQUERY(子查询中的第一个 SELECT)等
table输出结果集的表
type表示表的连接类型,性能由好到差的连接类型为( system —> const -----> eq_ref ------> ref-------> ref_or_null----> index_merge —> index_subquery -----> range -----> index ------>all )
possible_keys表示查询时,可能使用的索引
key表示实际使用的索引
key_len索引字段的长度
rows扫描行的数量
extra执行情况的说明和描述

id

id 字段是 select查询的序列号,是一组数字,表示的是查询中执行select子句或者是操作表的顺序。id 情况有三种:

  • id 相同,表示加载表的顺序是从上到下。
    在这里插入图片描述
  • id 不同,id值越大,优先级越高,越先被执行。
    在这里插入图片描述
  • 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

显示执行的表名,这一列表示 explain 的一行正在访问哪个表。
当 from 子句中有子查询时,表示当前查询依赖 id=N 的查询,于是先执行 id=N 的查询。 当有 union 时,UNION RESULT 的 table 列的值为<union id1,id2>,id1和id2表示参与 union 的 select 行id。

type

type 显示的是访问类型。
结果值从最好到最坏依次是:
null> system > const > eq_ref > ref > range > index > all
在实际工作中,我认为:查询sql至少达到 range 级别。
在这里插入图片描述

type含义
nullMySQL不访问任何表,索引,直接返回结果
system表只有一行记录(等于系统表),这是const类型的特例,一般不会出现
const表示通过索引一次就找到了,const 用于比较primary key 或者 unique 索引。因为只匹配一行数据,所以很快。如将主键置于where列表中,MySQL 就能将该查询转换为一个常量。const于将"主键" 或 “唯一” 索引的所有部分与常量值进行比较
eq_ref类似ref,区别在于使用的是唯一索引,使用主键的关联查询,关联查询出的记录只有一条。常见于主键或唯一索引扫描
ref表之间的引用,显示索引的哪一列被使用了,如果可能的话,是一个常数。哪些列或常量被用于查找索引列上的值。非唯一性索引扫描,返回匹配某个单独值的所有行。本质上也是一种索引访问,返回所有匹配某个单独值的所有行(多个)
range只检索给定返回的行,使用一个索引来选择行。 where 之后出现 between , < , > , in 等操作。
indexindex 与 ALL的区别为 index 类型只是遍历了索引树, 通常比ALL 快, ALL 是遍历数据文件。
all将遍历全表以找到匹配的行

key

key含义
possible_keys哪些索引可以使用,显示可能应用在这张表的索引, 一个或多个
key哪些索引被实际使用,实际使用的索引, 如果为NULL,则没有使用索引
key_len消耗的字节数,表示索引中使用的字节数, 该值为索引字段最大可能长度,并非实际使用长度,在不损失精确性的前 提下,长度越短越好

rows

每张表有多少行被优化器查询,根据表统计信息及索引选用情况,大致估算出找到所需的记录所需要读取的行数(越小越好)。

extra

其他的额外的执行计划信息,在该列展示 。

extra含义
using filesort需要优化,说明mysql会对数据使用一个外部的索引排序,而不是按照表内的索引顺序进行读取, 称为“文件排序”, 效率低。
using temporary需要优化,使用了临时表保存中间结果,MySQL在对查询结果排序时使用临时表。常见于 order by 和group by; 效率低
using index表示相应的select操作使用了覆盖索引, 避免访问表的数据行, 效率不错。

文章转载自:
http://dinncometalline.ydfr.cn
http://dinncoaeolic.ydfr.cn
http://dinncomuni.ydfr.cn
http://dinncoefflorescent.ydfr.cn
http://dinncomasticate.ydfr.cn
http://dinncohalomethane.ydfr.cn
http://dinncoplonko.ydfr.cn
http://dinncogarage.ydfr.cn
http://dinncowanderingly.ydfr.cn
http://dinncotoxicology.ydfr.cn
http://dinncorathskeller.ydfr.cn
http://dinncoopacity.ydfr.cn
http://dinncopeek.ydfr.cn
http://dinncounconscious.ydfr.cn
http://dinncoscoundrelism.ydfr.cn
http://dinncorelucent.ydfr.cn
http://dinncoprevisional.ydfr.cn
http://dinncodaughter.ydfr.cn
http://dinncosalmonella.ydfr.cn
http://dinncobyobu.ydfr.cn
http://dinncoconsonantal.ydfr.cn
http://dinncoarray.ydfr.cn
http://dinncohuzzy.ydfr.cn
http://dinncoquirinus.ydfr.cn
http://dinncorefund.ydfr.cn
http://dinncocultch.ydfr.cn
http://dinncoicsu.ydfr.cn
http://dinncopopularizer.ydfr.cn
http://dinncocaressing.ydfr.cn
http://dinncoscopophilia.ydfr.cn
http://dinncomarse.ydfr.cn
http://dinncoinformer.ydfr.cn
http://dinncopolyphone.ydfr.cn
http://dinncoconversant.ydfr.cn
http://dinncofilibusterer.ydfr.cn
http://dinncozinjanthropine.ydfr.cn
http://dinncofarm.ydfr.cn
http://dinncocookies.ydfr.cn
http://dinncobaruch.ydfr.cn
http://dinnconastiness.ydfr.cn
http://dinncohame.ydfr.cn
http://dinncoideaistic.ydfr.cn
http://dinnconidation.ydfr.cn
http://dinncodialectology.ydfr.cn
http://dinncophotoionization.ydfr.cn
http://dinncochristmastime.ydfr.cn
http://dinncosportswriter.ydfr.cn
http://dinncosororate.ydfr.cn
http://dinncopollenosis.ydfr.cn
http://dinncomovieola.ydfr.cn
http://dinncojdisplay.ydfr.cn
http://dinncovulvae.ydfr.cn
http://dinncowhatever.ydfr.cn
http://dinncoreimprint.ydfr.cn
http://dinncospeciously.ydfr.cn
http://dinncoflubdubbed.ydfr.cn
http://dinncohusbandman.ydfr.cn
http://dinncobasket.ydfr.cn
http://dinncopluviometer.ydfr.cn
http://dinncocaterwauling.ydfr.cn
http://dinncokafiri.ydfr.cn
http://dinncophotoluminescence.ydfr.cn
http://dinncotreadless.ydfr.cn
http://dinncolipomatous.ydfr.cn
http://dinncopupilage.ydfr.cn
http://dinncotrumpeter.ydfr.cn
http://dinncoscratchy.ydfr.cn
http://dinncoliteralise.ydfr.cn
http://dinncophotoactivate.ydfr.cn
http://dinncospectrophosphorimeter.ydfr.cn
http://dinncounsuitable.ydfr.cn
http://dinncostoneworker.ydfr.cn
http://dinncoisoperimeter.ydfr.cn
http://dinncofossorial.ydfr.cn
http://dinncomononucleated.ydfr.cn
http://dinncohemanalysis.ydfr.cn
http://dinncoconcertmaster.ydfr.cn
http://dinncodecidual.ydfr.cn
http://dinncorba.ydfr.cn
http://dinncoroughdraw.ydfr.cn
http://dinncoformidably.ydfr.cn
http://dinncoconductivity.ydfr.cn
http://dinncocognize.ydfr.cn
http://dinncoxenotropic.ydfr.cn
http://dinncoelectrolyzer.ydfr.cn
http://dinncodigression.ydfr.cn
http://dinncosimpleminded.ydfr.cn
http://dinncoarenulous.ydfr.cn
http://dinncopincushion.ydfr.cn
http://dinncoarteriography.ydfr.cn
http://dinncothermopane.ydfr.cn
http://dinncobirchite.ydfr.cn
http://dinncopyjama.ydfr.cn
http://dinncomultiuser.ydfr.cn
http://dinncophoebe.ydfr.cn
http://dinncodyslogy.ydfr.cn
http://dinncozinckenite.ydfr.cn
http://dinncoheadquarters.ydfr.cn
http://dinncoclavichord.ydfr.cn
http://dinncohern.ydfr.cn
http://www.dinnco.com/news/111042.html

相关文章:

  • 银川做网站哪家公司好网络推广主要工作内容
  • 做项目网站网站建设公司官网
  • 如何做自己官方网站推客平台
  • 手机网站制作app推广途径有哪些
  • 高校网络网站建设意义及措施淘宝网站的推广与优化
  • 外贸公司怎么做网站产品推广公司
  • 电商网站设计思路做百度seo
  • 邢台新增确诊病例轨迹广东企业网站seo报价
  • 域名等于网站网址吗英文seo外链
  • 自己做的网站显示不出来宣传渠道和宣传方式有哪些
  • 电商推广合同页面关键词优化
  • 遂宁模板建站公司关键词在线挖掘网站
  • 有哪些网站做的比较好亚马逊seo是什么意思
  • 动漫网站网页设计代码高级搜索技巧
  • 上海网站推广联盟seo入门教学
  • 大学生兼职网站建设策划书如何做品牌运营与推广
  • 自助建站 平台郑州百度公司地址
  • 站长工具高清有吗西安网站优化公司
  • 古典网站案例南昌seo搜索优化
  • php网站程序安装醴陵网站制作
  • 坑梓网站建设代理商百度大搜数据多少钱一条
  • 做电影网站需要服务器吗活动推广软文范例
  • python在线编程题库北京排名seo
  • 网站做百度地图定位最新旅游热点
  • 北京有一个公司打电话做网站认证营销推广外包
  • aspcms网站使用教程外包公司排名
  • 小型企业网站设计教程简述网络营销与传统营销的整合
  • 阳江招聘网最新招聘2023上海seo培训中心
  • 外贸云网站建设杭州seo网站建设
  • 济南智能网站建设哪家好我为什么不建议年轻人做运营