一个充满希望的小萌新 2022-03-17 10:10 采纳率: 50%
浏览 29

在连表前where更快还是连表后where呢

两种方式
left join dual b on a.a = b.b where b.c = 1

left join (select * from dual where c = 1) b on a.a=b.b
第一种肯定是会把在字段c<>1的情况下 把a.a的数据都干掉
第二种则是a的数据是绝对安全的
如果这两种写法结果都一样的情况下 例如 a和b之间是1对多的关系,不存在写法影响数据的情况下
哪种会更快呢,如果可以结合有索引和没索引讨论更好

  • 写回答

2条回答 默认 最新

  • 稳健的一休哥 2022-03-17 10:35
    关注

    个人经验,先where再join效率更高
    可以造几张假表测试下

    评论

报告相同问题?

问题事件

  • 修改了问题 3月17日
  • 创建了问题 3月17日

悬赏问题

  • ¥15 (标签-考研|关键词-set)
  • ¥15 求修改代码,图书管理系统
  • ¥15 请问有没求偏多标签数据集yeast,reference,recreation,scene,health数据集。
  • ¥15 传感网应用开发单片机实训
  • ¥15 Delphi 关于sAlphaImageList使用问题
  • ¥15 寻找将CAJ格式文档转txt文本的方案
  • ¥15 shein测试开发会问些啥我是写java的
  • ¥15 关于#单片机#的问题:我有个课程项目设计,我想在STM32F103veTX单片机,M3主控模块上设计一个程序,在Keil uVision5(C语言)上代码该怎么编译?(嫌钱少我可以加钱,急急急)
  • ¥15 opnet仿真网络协议遇到问题
  • ¥15 在安装python的机器学习程序包scikit-learn(1.1版本)时遇到如下问题