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

网站建设对于企业的必要性兰州市网站建设

网站建设对于企业的必要性,兰州市网站建设,易旅游网站建设,怎么才能注册做网站目录 前言#xff1a; explain#xff1a; 语法#xff1a; 总结#xff1a; 前言#xff1a; 上一篇我们介绍了从时间角度分析MySQL语句执行效率的三大工具#xff1a;SQL执行频率#xff0c;慢日志查询#xff0c;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.idslesct查询的序列号表示查询中执行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,systemconsteq_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://www.hkea.cn/news/14350788/

相关文章:

  • 湘潭做网站 搜搜磐石网络临沂网站制作页面
  • 辽阳专业建设网站公司wordpress 锁定地址
  • 计算机网站维护建设wordpress干什么用的
  • 哈尔滨 门户网站门户网站制作流程博客
  • 中国土木工程网优化方案2022版语文
  • 广州公司建设网站网络工程师都考什么
  • 10大营销理论西安网站建设 乐云seo
  • 别墅装修公司排名前十强学seo的培训学校
  • 关于网站建设的讲话做的网站如何被百度搜到
  • 网站开源模板做展柜在哪些网站找客户
  • 旅行网站排名阿里云服务器 网站模板
  • 北京门户网站制作费用在线查企业信息查询平台
  • 佛山建网站定制网站建设有啥费用
  • 如何面试网站开发优化大师下载安装
  • 搜索引擎是网站吗乐清定制网站建设
  • 如何做自己个人网站自己怎么做游戏推广赚钱
  • 安徽宿州住房与建设网站河池市住房与城市建设部网站
  • 杭州网站建设设计公司哪家好网吧可以做网站吗
  • 晚上睡不着正能量网站WordPress显示时间函数
  • 广西南宁市网站制作公司对比网站
  • 一个专门做各种恐怖片的电影网站网上购物软件
  • 个人网站开发需求分析镇江网站建设哪家好
  • 专门做环保设备的网站网络工程师需要什么证书
  • 山西建设网站公司天津网站推广¥做下拉去118cr
  • 国外网站域名 中国海东企业网站建设公司
  • 淘宝联盟推广网站怎么建设欧洲乌克兰
  • 六盘水做网站如何在自己网站上做支付宝
  • 网站建设感悟清溪镇网站仿做
  • 网站建设与管理课程标准iis 无法启动此网站
  • 超级链接网站模板如何建设网站教程视屏