首页[富联注册]登录测速一站式服务平台
首页[富联注册]登录测速一站式服务平台
新闻详情
 
当前位置
首页;豪门注册;首页
作者:an888    发布于:2026-06-30 02:38    文字:【】【】【

   富联线路测速,现在我把这三张表连起来查,查询条件:查询课程编号为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)都是简单查询

相关推荐
  • 恩佐2注册-地址
  • 首页;豪门注册;首页
  • 深度访谈:{杏盛平台}行业专家观点
  • 首页*腾龙手机app*首页
  • 深度解析:{富途平台}的5大核心要点
  • 互动媒体艺术
  • 首页、(新宝GG注册)、首页
  • 与众不同的电子画册云服务平台
  • 联赢-平台黑钱吗首页
  • 首页。优贝注册。首页
  • 脚注信息