星亿「星亿平台」注册登录一站式服务
星亿「星亿平台」注册登录一站式服务
新闻详情
 
当前位置
意昂2主管 注册平台I登录"
作者:an888    发布于:2026-06-18 06:27    文字:【】【】【

  现在我把这三张表连起来查,查询条件:查询课程编号为2或教师证编号为3点老师信息;

  SQL语句很简单,我们不关心这个,我们关心的是在它前面加explain:

  id此时此刻都是1,它们都对应我们的表 te 是我们的教师证表 t 就是教室表 c 是课程表

  由此可见,我们编写的SQL语句它底层是先执行教师证表的,然后执行教室表,最后再执行课程表;

  通过试验我们发现,确实谁少就先执行谁,但是我我们却发现,表的执行顺序是因数量的个数改变而改变,那它的原因是什么呢?为什么表的执行顺序会跟随个数而改变呢?

  我们现在假设a b 两张表,a里面有三条数据,b里面有六条数据,最后他俩相乘 = 18;

  我们假设现在有 a b c三张表,第一张表 a 是三条数据 第二张表是3条数据第三表的数据是4,那它们的笛卡尔积 2*3 = 6 6再*4 = 24;

  这个时候我们换一下位置 a 是四条数据 b 是三条数据 c 是两条数据,我们再来算一下它们的笛卡尔积:3*4 = 12 *2 = 24;

  我们发现两者结果都没有变,但是中间结果变了,第一次计算笛卡尔积时 第一次计算2*3 =6,第二次计算笛卡尔积时3*4 = 12,因为6比12小索所以它就先执行;

  为什么在图上,c先执行的原因是 c * t (3*4 = 12)te 是6,所以比较大,就向后放;

  id值相同,就从上往下依次执行,如果不相同,那就从下往上执行,因为id值越大,它就越往下排列;

  Simple:简单查询(一个SQL语句里面不包含子查询,union)都是简单查询

相关推荐
  • 2026最全{蓝狮注册平台}资源合集
  • 意昂2主管 注册平台I登录"
  • 2026年{万事注册}新趋势
  • {恒盛平台}注册推荐:提升效率必备
  • 从“广而告之”到“可量化”:中国梯媒数字化广告能力提升2026展现全新面貌
  • 互联网消费互动媒体
  • 2026非洲数字广告行业供需动向研究及资本布局合理性规划分析研究报告
  • 首页 金海岸注册 首页
  • V8平台 注册登录首页"
  • 汇富-平台注册!
  • 脚注信息
    友情链接: 星亿平台广告设计