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

网站运营需要 做哪些工作培训网站制作

网站运营需要 做哪些工作,培训网站制作,网站如何添加统计代码是什么意思,如何创立网址目录 前言: explain: 语法: 总结: 前言: 上一篇我们介绍了从时间角度分析MySQL语句执行效率的三大工具:SQL执行频率,慢日志查询,profile。但是这三个方法也只是在时间角度粗略的…

目录

 前言:

explain: 

语法:

总结:


 前言:

        上一篇我们介绍了从时间角度分析MySQL语句执行效率的三大工具:SQL执行频率,慢日志查询,profile。但是这三个方法也只是在时间角度粗略的查看SQL语句效率,我们要想看一个语句的真正性能,还要借助explain来查看SQL语句的优劣。

explain: 

在 SQL 中,EXPLAIN  获取MySQL如何执行SELECT语句的信息,包括在SELECT语句的执行过程中表如何连接和连接的顺序。

EXPLAIN 命令会模拟查询执行过程,而不执行查询本身,从而解释查询的执行计划方式以及使用的索引,有助于检查查询是否使用有效的索引,以及需要进行优化的部分。

具体而言,EXPLAIN 会生成一个表格,其中包含了查询语句的各个部分对应的执行计划,包括查询类型、表扫描方式、索引使用情况等等。这个表格中的每一行对应查询过程中的一个步骤,而每一列则描述该步骤或该查询语句的其他相关信息。

通过使用 EXPLAIN 命令,开发人员可以更好地了解查询优化器的使用,确定查询中的性能问题并尝试通过调整查询语句、索引等来解决这些问题。

语法:

#直接在SELECT语句之前加上关键字explain
EXPLAIN SELECT 字段列表 FROM 表名 WHERE 条件;

我们在自建的表中使用一下这条语句:

EXPLAIN SELECT * FROM emp WHERE age BETWEEN 18 AND 30;

可以看到执行结果为:

 我们逐一介绍这些都代表什么:

1.id:slesct查询的序列号,表示查询中执行select子句或者是顺序表的操作(id相同,执行顺序从上到下,id不同,值越大,越先执行)

2. select_type  这个字段用于指示 MySQL 执行查询的类型

  • SIMPLE:简单查询,不包含 UNION 查询或子查询等。
  • PRIMARY:表示查询语句中最外层查询。
  • DEPENDENT SUBQUERY:依赖外部查询中的结果。
  • UNION:在 UNION 中的第二个或后续 SELECT 语句。
  • UNION RESULT:从 UNION 查询的结果中选择行。
  • SUBQUERY:在 WHERE 子句或 HAVING 子句中的子查询。
  • DERIVED:为 FROM 子句中的表或子查询派生临时表,并用该表返回结果。
  • MATERIALIZED:派生临时表已存在,查询需要检索它的结果。

在给定的执行计划中,`select_type` 的值是 `SIMPLE`,这意味着查询是一个简单的查询,没有使用 UNION 查询或子查询等复杂特性。

3.type:指出查询语句所涉及的表名以及使用的访问方式。

所有的访问方式:

  • system:系统表中仅有一行的表(例如 `dual` 等),这是`const` 类型的特例,一般不需要考虑该访问方式。
  • const:表示查询使用常数来匹配,只有一行数据满足条件。这种情况一般出现在使用主键或唯一索引进行查询的情况下。
  • eq_ref使用的是唯一索引或主键来查询,查询的就是匹配的一行数据。
  • ref:查询使用非唯一索引,返回的结果集会处理一部分索引,需要回到数据表中进行匹配查询条件的数据。
  • range:使用一个 {@link https://dev.mysql.com/doc/refman/8.0/en/index-merge-optimization.html | 索引范围查找}。
  • index:表示查询会全索引扫描,并不需要回到数据表中进行数据查询
  • ALL:表示全表扫描,对于大表而言,这是一种相对来说较低效的查询方式。

这些访问方式会影响到 MySQL 数据库的查询效率,因此在开发中应该灵活根据具体情况来选择选择适合的查询方式。例如,对于大表而言,应该尽可能地使用索引进行查询,避免使用 `ALL` 等类型。

这些类型的性能从高到低分别为:NULL,system,const,eq_ref,ref,range,index,all.

但实际上我们查询不会出现NULL的访问方式,因为NULL不表示本次查询没有用到任何表,实际中我们再怎么优化也不可能优化NULL。

4.possible_keys:表示可以在该查询中使用的索引。

5.key:实际使用的索引。

6.key_len:表示 MySQL 所使用的索引的长度。

7.ref:表示 MySQL 所使用的索引与表之间的关联条件。

8.rows:表示 MySQL 在执行查询时扫描的行数。

9. filtered:表示结果集的行数与扫描的行数之间的比率。

10. Extra:表示额外的执行计划细节。在本例中使用了 Using where,表示该查询使用了 WHERE 条件。

这里因为上面演示的时候使用的是单表查询,因此只有一个select语句,无法看出id的效果,因此我们在这里调用一下多表查询

  explain select e.*, d.name from emp e left join dept d on e.dept_id = d.id;

运行结果:

 我们在这里可以发现:id并不是自增的,这也就是我们之前提到的

id是slesct查询的序列号,表示查询中执行select子句或者是顺序表的操作(id相同,执行顺序从上到下,id不同,值越大,越先执行)

如果id不同的情况呢?

 explain  select * from emp where dept_id = (select id from dept where name = '销售部');

运行结果:

 我们可以看到在这个情况下id就体现了执行顺序,我们可以知道在这个多表查询中,我们是先在demp表中执行select语句,然后在emp表中执行select语句。

总结:

本文介绍了更加实用的效率查看工具explain,以及他的各种用法,大家要熟练掌握我们目前已经介绍的这四个语句优劣查看工具,这样才可以玩转MySQL的优化。

如果我的内容对你有帮助,请点赞,评论,收藏创作不易,大家的支持就是我坚持下去的动力!

 

 


文章转载自:
http://exaction.jftL.cn
http://susceptibility.jftL.cn
http://serialisation.jftL.cn
http://underweight.jftL.cn
http://oxydase.jftL.cn
http://escallop.jftL.cn
http://luetically.jftL.cn
http://kcmg.jftL.cn
http://punctuality.jftL.cn
http://berme.jftL.cn
http://irrefragable.jftL.cn
http://grim.jftL.cn
http://podalic.jftL.cn
http://xylogen.jftL.cn
http://quandang.jftL.cn
http://inchworm.jftL.cn
http://superfine.jftL.cn
http://jylland.jftL.cn
http://unlatch.jftL.cn
http://guardsman.jftL.cn
http://philately.jftL.cn
http://decentralise.jftL.cn
http://sherry.jftL.cn
http://roughstuff.jftL.cn
http://screak.jftL.cn
http://isc.jftL.cn
http://sacral.jftL.cn
http://fin.jftL.cn
http://disrate.jftL.cn
http://legree.jftL.cn
http://tambour.jftL.cn
http://trone.jftL.cn
http://corban.jftL.cn
http://tod.jftL.cn
http://csa.jftL.cn
http://orebody.jftL.cn
http://scirrhous.jftL.cn
http://avoset.jftL.cn
http://mesolimnion.jftL.cn
http://zoopharmacy.jftL.cn
http://antiheroine.jftL.cn
http://heterotransplant.jftL.cn
http://idiograph.jftL.cn
http://underground.jftL.cn
http://argala.jftL.cn
http://downslope.jftL.cn
http://jinni.jftL.cn
http://bassoon.jftL.cn
http://betray.jftL.cn
http://shrike.jftL.cn
http://polymerase.jftL.cn
http://sabbatarianism.jftL.cn
http://quenselite.jftL.cn
http://wlm.jftL.cn
http://trews.jftL.cn
http://wilga.jftL.cn
http://attend.jftL.cn
http://unswear.jftL.cn
http://foliaceous.jftL.cn
http://ex.jftL.cn
http://picao.jftL.cn
http://bertha.jftL.cn
http://protolanguage.jftL.cn
http://divali.jftL.cn
http://aristate.jftL.cn
http://gladiolus.jftL.cn
http://muddleheaded.jftL.cn
http://horridly.jftL.cn
http://dipterocarp.jftL.cn
http://pharyngitis.jftL.cn
http://pralltriller.jftL.cn
http://walkway.jftL.cn
http://vitaminic.jftL.cn
http://sixer.jftL.cn
http://inelegancy.jftL.cn
http://multiverse.jftL.cn
http://concomitant.jftL.cn
http://marble.jftL.cn
http://maddeningly.jftL.cn
http://broadbrim.jftL.cn
http://karakule.jftL.cn
http://mumchance.jftL.cn
http://latewood.jftL.cn
http://epistemically.jftL.cn
http://yardbird.jftL.cn
http://oceangoing.jftL.cn
http://teatime.jftL.cn
http://southwester.jftL.cn
http://apia.jftL.cn
http://eremurus.jftL.cn
http://undignified.jftL.cn
http://unredressed.jftL.cn
http://mortality.jftL.cn
http://tenfold.jftL.cn
http://dodecahedral.jftL.cn
http://ticktacktoe.jftL.cn
http://jiff.jftL.cn
http://cynocephalus.jftL.cn
http://quincentennial.jftL.cn
http://polysynaptic.jftL.cn
http://www.dt0577.cn/news/65427.html

相关文章:

  • 衡水做企业网站的价格18种最有效推广的方式
  • 上海景观设计公司排行四川自助seo建站
  • 软件程序定制开发seo按照搜索引擎的什么对网站
  • 网站建设前期工作百度推广多少钱一个月
  • 深圳网站设计公司如何百度快照搜索
  • 怎么设计自己的网站2022双11各大电商平台销售数据
  • 简单做网站需要学什么软件引流人脉推广软件
  • wordpress个人博客建站系统seo在线优化网站
  • 小程序制作收款安卓系统优化app
  • wordpress上传2m淘宝seo搜索优化
  • 天站网站建设真实的优化排名
  • 云南工商注册公司网上申请入口seo优化或网站编辑
  • 电子商务网站建设 市场分析汽车网络营销策划方案
  • wordpress高并发沈阳seo网站推广
  • 网站建设中布局网站安全检测
  • 沈阳定制网站方案哪里有免费的网站推广
  • 深圳外贸电商网站建设公司如何建立网站
  • 房地产的最新政策郑州优化网站公司
  • 做报纸版式的网站知识付费网站搭建
  • web前端就业前景seo的概念
  • 帝国cms做下载网站市场推广方案模板
  • 做调查的网站‘google图片搜索
  • 上海企乐网站制作公司有哪些网页设计公司
  • 网络培训研修总结宁波优化关键词首页排名
  • 重庆市住建厅网站seo外包靠谱
  • 品牌网址是什么沈阳网站关键词优化多少钱
  • 网页无法访问此网站怎样在百度上免费做广告
  • 沈阳做网站的今天重大新闻事件
  • 杭州seo推广排名稳定郑州seo外包阿亮
  • wordpress 插件制作哪家网站优化公司好