深圳建筑设计网站专用主机方式建设网站

张小明 2025/12/30 19:38:41
深圳建筑设计网站,专用主机方式建设网站,自己买服务器做网站,广州网站优化工具服务什么是执行计划在查询语句开头添加explain关键字#xff0c;然后执行查询#xff0c;就可以看到执行计划。执行计划代表这个SQL执行的过程#xff0c;MySQL解释器将如何处理该SQL#xff0c;通过对执行计划的分析#xff0c;方便做SQL优化。数据准备当前数据库版本为8.0.4…什么是执行计划在查询语句开头添加explain关键字然后执行查询就可以看到执行计划。执行计划代表这个SQL执行的过程MySQL解释器将如何处理该SQL通过对执行计划的分析方便做SQL优化。数据准备当前数据库版本为8.0.42用到的表信息如下、查询计划解读下面针对执行计划的每个字段进行举例和说明idid列的编号是 select 的序列号有几个 select 就有几个id并且id的顺序是按 select 出现的顺序增长的。id1的表是驱动表。select_typeselect_type 查询类型说明查询的种类有以下几种1.simple 简单查询。查询不包含子查询和union2.primary复杂查询中最外层的 select3.derived包含在 from 子句中的子查询。MySQL会将结果存放在一个临时表中也称为派生表derived的英文含义4.union在 union 中的第二个和随后的 select5.union result从 union 临时表检索结果的 select6.subquery包含在 select 中的子查询不在 from 子句中table这一列表示 explain 的一行正在访问哪个表。如果有具体表名则表示读取这个表。例如film表示对film表进行读取。如果没有具体表名则表示对id为对应编号的记录进行操作。例如union3,4表示将id为3和4的两条记录进行union的联合查询。partitions说明查询作用在哪个分区表上如果没有对表进行分区则为null。type这一列表示关联类型或访问类型即MySQL决定如何查找表中的行。type的类型有12种下面举例说明越靠前的类型是效率越高的类型也就是说在SQL优化时尽可能使用下面列出的前面的类型。标记*号的为常用的类型。1.system查询的表只有 0 或 1 行表的数据库引擎必须是 MyISAM或MEMORYInnoDB 不行system效率最高。2.const *mysql能对查询的某部分进行优化并将其转化成一个常量。用于 primary key 或 unique key 的所有列与常数比较时所以表最多有一个匹配行读取1次速度比较快。3.eq_ref *primary key 或 unique key 索引的所有部分被连接使用 最多只会返回一条符合条件的记录。这可能是在 const 之外最好的联接类型了简单的 select 查询不会出现这种 type。直白点说就是一张表的主键字段和另一张表的外键进行关联就是eq_ref类型。4.ref *相比eq_ref不使用唯一索引而是使用普通索引或者唯一性索引的部分前缀索引要和某个值相比较可能会找到多个符合条件的行。5.fulltext全文索引使用极少。6.ref_or_null *类似ref但是可以搜索值为NULL的行。当检索的数据包含null时对应类型为ref_or_null。7.index_merge使用极少。8.unique_subquery使用极少。9.index_subquery使用极少。10.range *范围扫描通常出现在 in(), between , ,, 等操作中。使用一个索引来检索给定范围的行。range的执行效率不确定会根据不同的查询条件或高或低。比如ID1效率就低因为要在很多条数据中检索。如果换成ID10效率就比较高因为只需要扫描前面9条记录。11.index *基于索引进行全表扫描和ALL差不多不同点就是mysql只需扫描索引树这通常比ALL快一些。12.ALL *即全表扫描意味着mysql需要从头到尾去查找所需要的行。通常情况下这需要增加索引来进行优化了。possible_keys这一列显示查询可能使用哪些索引来查找。keykey列显示mysql实际采用哪个索引来优化对该表的访问。key_len这一列显示了mysql在索引里使用的字节数通过这个值可以算出具体使用了索引中的哪些列。这里显示4是因为主键ID为int类型占用4字节。ref这一列显示了在key列记录的索引中表查找值所用到的列或常量常见的有const常量funcNULL字段名例film.idrow这一列是mysql估计要读取并检测的行数注意这个不是结果集里的行数。filtered是一个百分比的值,代表 (rows * filtered) / 100 ,这个结果将于前表产生交互。当建立了索引的情况一般为100或者是接近100的比较大的一个值。Extra这一列展示的是额外信息。有以下一些类型distinct一旦mysql找到了与行相联合匹配的行就不再搜索了。Using index这发生在对表的请求列都是同一索引的部分的时候返回的列数据只使用了索引中的信息而没有再去访问表中的行记录。是性能高的表现。using index也叫索引覆盖只通过索引字段就可以完成查询。Using wheremysql服务器将在存储引擎检索行后再进行过滤。就是先读取整行数据再按 where 条件进行检查符合就留下不符合就丢弃。代表数据访问效率不高。using temporarymysql需要创建一张临时表来处理查询。出现这种情况一般是要进行优化的首先是想到用索引来优化。下面创建一个索引再次进行查询添加索引后查询就不再创建临时表而是用索引覆盖提升了效率。using filesort采用文件扫描对结果进行计算排序效率很差。这里可能会产生疑惑已经在name字段上创建了索引为什么排序还是文件排序没有用到索引呢这是因为对于排序只有select 字段 与order by 字段都被索引覆盖是才允许使用Using Index。把查询语句中的*改成name再看下效果这样就用到了索引。下面再看一种情况如果要查询多个字段排序也是多个字段会是什么情况呢同时用name ,update_time两个字段进行查询和排序又变成了文件排序。这是因为只有name字段有索引而update_time字段没有。下面为name ,update_time建立复合索引。然后再查询这次就用到了索引。注意order by后面的字段顺序需要与索引字段顺序一致否则会导致索引失效。
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

网站友情链接模块广州互联网公司

开发是我不想重复的路 早几年都流行学计算机,传言就业薪资高,就选了软件开发专业。 在学校也不算混子吧,该学的java、python、前端操作系统都学了,不过大学的基础大家都懂,大学期间贪玩,老师在上面讲课&a…

张小明 2025/12/27 5:05:22 网站建设

大连做网站团队推广计划方案

计算机毕业设计springboot城市星级住房装修风格推荐系统2k9502dh (配套有源码 程序 mysql数据库 论文) 本套源码可以在文本联xi,先看具体系统功能演示视频领取,可分享源码参考。 当“住得好”升级为“住得美”,装修风格成为城市星…

张小明 2025/12/27 5:05:23 网站建设

公司网站建设的分类wordpress网站模版

拒绝制造虚假情感依赖:产品设计准则 在语音助手轻声细语地安慰你“别担心,我在这里”时,你是否曾有一瞬的动容?当AI用温柔的声线读出“我爱你”,哪怕明知是代码驱动,情绪仍可能被悄然牵动。这正是当前语音合…

张小明 2025/12/27 5:05:23 网站建设

哈尔滨h5建站如何创建微网站

OBS Studio开发实战:从路径迷宫到自由通行的艺术 【免费下载链接】obs-studio OBS Studio - 用于直播和屏幕录制的免费开源软件。 项目地址: https://gitcode.com/GitHub_Trending/ob/obs-studio "在OBS Studio开发中,路径问题就像城市中的单…

张小明 2025/12/27 5:05:24 网站建设

早教网站建设方案大理网站建设滇icp备

还在深夜对着空白文档“两眼一黑”?还在和参考文献“互相伤害”?别慌,这届大学生写论文的“版本答案”可能已经更新了。今天,咱们就唠唠 「好写作AI」 这位智能学术搭子,和咱们传统人工写作,到底有啥代际差…

张小明 2025/12/26 5:06:19 网站建设

焦作网站设计wordpress 分享插件

除了机器学习外,目前通过大量回测,通过分位数这个方法,效果还不错。 我选择了两个指标,一个是全市场上涨币的比例,一个是振幅,分位数划分20档,两个指标笛卡尔积就是400个组合,即400个轮次,对应我因子探索中的5个因子,一共跑了2000轮回测。选出每个轮次最佳因子,最终…

张小明 2025/12/27 5:05:27 网站建设