select Id from User where CreaterId ='123' or ApplicantId='123'
这样一条SQL语句,当CreaterId 和 ApplicantId同时满足时,他会怎么执行。
先去判断CreaterId ='123' 如果合适直接就是,不然再去判断 ApplicantId='123'
全表扫描.
啊,比如说他是会优先执行CreaterId ,还是找更契合条件的那个,或者两个一起执行?
@你猜丶: 没有什么优先级.
本来就是or.他就是全表扫描.看2个字段是否有满足条件的.
优先不优先有啥关系.
两个条件同时执行
or逻辑,机器只要判断前面的真了,就不会执行后面的代码了
where 条件的执行顺序 是从左向右,使用OR 关键字的时候,先遍历全表满足 CreaterId 的结果 加上 满足ApplicantId 的结果;
or逻辑很简单吧,就是其中一个满足就搜索出来,两个互不影响
or的话是两个条件都会执行, 不会说第一个满足了第二个就不执行了
当然是显示那个id啊,
两个条件,单独查询,最后结果进行merge,具体怎么执行,看一下执行计划就行