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

湖北网站科技建设咸阳做网站托管

湖北网站科技建设,咸阳做网站托管,网站首页代码怎么做,留言网站建设今天我们就一步一步的来讲解不同的SQL语句的执行计划长什么样子#xff0c;先来看第一条SQL语句#xff0c;特别的简单#xff0c;就是#xff1a; explain select * from t1 就这么一个简单的SQL语句#xff0c;那么假设他这个里面有大概几千条数据#xff0c;此时执行计…今天我们就一步一步的来讲解不同的SQL语句的执行计划长什么样子先来看第一条SQL语句特别的简单就是 explain select * from t1 就这么一个简单的SQL语句那么假设他这个里面有大概几千条数据此时执行计划看起来是什么样的 ±—±------------±------±-----------±-----±--------------±-----±--------±-----±-----±---------±------ | id | select_type | table | partitions | type | possible_keys | key | key_len | ref | rows | filtered | Extra | ±—±------------±------±-----------±-----±--------------±-----±--------±-----±-----±---------±------ | 1 | SIMPLE | t1 | NULL | ALL | NULL | NULL | NULL | NULL | 3457 | 100.00 | NULL | ±—±------------±------±-----------±-----±--------------±-----±--------±-----±-----±---------±------ 一起来分析一下上面的执行计划吧学习当然得从最简单的地方开始一步一步得来相信每个人都能成为分析SQL执行计划的高手。 首先呢id是1这个不用管他了select_type是SIMPLE这个先不说他什么意思你要知道顾名思义这个表的查询类型是很普通的、而且简单的就可以了。 table是t1这还用说么表名就是t1所以意思就是这里要访问t1这个表。type是all这就是我们之前提到的多种访问方式之一了all就是全表扫描这没办法你完全没加任何where条件那当然只能是全表扫描了 而且如果大家记得我们之前讲解的底层访问方式就会知道这里直接会扫描表的聚簇索引的叶子节点按顺序扫描过去拿到表里全部数据。 rows是3457这说明全表扫描会扫描这个表的3457条数据说明这个表里就有3457条数据此时你全表扫描会全部扫描出来。filtered是100%这个也很简单了你没有任何where过滤条件所以直接筛选出来的数据就是表里数据的100%占比。 怎么样有没有觉得稍微对执行计划有点感觉了似乎也没那么难是吧因为有了之前内容的大量铺垫和积累大家对SQL语句的底层执行原理本身已经有了一定的理解了所以看执行计划就会很简单的。 接着再来看一个SQL语句的执行计划 explain select * from t1 join t2 这是一个典型的多表关联语句之前我们说过这种关联语句实际上会选择一个表先查询出来数据接着遍历每一条数据去另外一个表里查询可以关联在一起的数据然后关联起来此时他的执行计划大概长下面这样子 ±—±------------±------±-----------±-----±--------------±-----±--------±-----±-----±---------±-------------------------------------- | id | select_type | table | partitions | type | possible_keys | key | key_len | ref | rows | filtered | Extra | ±—±------------±------±-----------±-----±--------------±-----±--------±-----±-----±---------±-------------------------------------- | 1 | SIMPLE | t1 | NULL | ALL | NULL | NULL | NULL | NULL | 3457 | 100.00 | NULL | | 1 | SIMPLE | t2 | NULL | ALL | NULL | NULL | NULL | NULL | 4568 | 100.00 | Using join buffer (Block Nested Loop) | ±—±------------±------±-----------±-----±--------------±-----±--------±-----±-----±---------±-------------------------------------- 这个执行计划就比较有意思了因为是一个多表关联的执行计划。首先很明显他的执行计划分为了两条也就是会访问两个表先看他如何访问第一个表的针对第一个表就是t1明显是先用ALL方式全表扫描他了而且扫出了3457条数据。 接着对第二个表的访问也就是t2表同样是全表扫描因为他这种多表关联方式基本上是笛卡尔积的效果t1表的每条数据都会去t2表全表扫描所有4568条数据跟t2表的每一条数据都会做一个关联而且extra里说了是Nested Loop也就是嵌套循环的访问方式跟我们之前讲解的关联语句的执行原理都是匹配的。 另外大家会发现上面两条执行计划的id都是1是一样的实际上一般来说在执行计划里一个SELECT会对应一个id因为这两条执行计划对应的是一个SELECT语句所以他们俩的id都是1是一样。 如果你要是有一个子查询有另外一个SELECT那么另外一个SELECT子查询对应的执行计划的id就可能是2了。 好那么今天我们讲解了一下单表查询和多表关联的执行计划长什么样子接下来我们会讲解子查询之类的语句的执行计划其实讲解执行计划的本质就是用各种不同的SQL语句来给大家讲解他们的执行计划什么样子大家看多了自然就知道了。
http://www.dnsts.com.cn/news/251533.html

相关文章:

  • 品牌高端网站制作公司北碚网站建设哪家好
  • 免费设计网站平台产品线下推广方式都有哪些
  • 网站建设报价怎么差别那么大网站开发 附加协议
  • 网站建设费用分几年摊销网站建设空白栏目整改报告
  • 购物类网站的设计特点网站建设项目如何敏捷
  • 做网站的网页设计用cdr吗专业网站优化排名
  • 建设网站 织梦网站开发服务属于什么行业
  • wordpress优惠代码360如何做网站优化
  • 上海万网网站建设宜宾网站开发招聘
  • 网站建设公司提成微信小程序制作视频
  • 流媒体网站开发教程宝安高端网站建设公司
  • 上饶有哪些做网站的店网络维护是什么职业
  • 广州免费建站哪里有安徽网站设计与优化
  • 哪里有做网站服务网络营销方式的利弊
  • 学习电子商务网站建设与管理顺企网怎么发布公司信息
  • 网站比较分析带做网站绿标
  • 网站修改数据中国移动网站官网
  • 万户网络销售seo关键词布局案例
  • 设计师网站都有哪些网站建设的客户在哪里
  • 招聘网站建设销售仿牌网站容易被攻击吗
  • 网站联盟平台百度推广联盟
  • 杭州的网站建设公司哪家好联赛网站建设不足
  • 涉县移动网站建设公司陇南网站建设
  • 的广州建网站的公司龙岩网页
  • 淘客做网站的软件淘宝 客要推广网站怎么做
  • 夺目视频制作网站东莞南城招聘网
  • 做网站数据库设计网站制作大概多少钱
  • 怎么推广自己做的网站网站备案需要具备什么条件
  • 茂名市电白区住房和城乡建设局网站怎么设计网络营销方案
  • 网站建设选择题题库海外游戏推广