专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > 高性能数据库开发

求解select 后的where 条件匹配顺序解决方法

发布时间:2010-05-24 21:17:06 文章来源:www.iduyao.cn 采编人员:星星草
求解select 后的where 条件匹配顺序
select * from tb where a=? ,b=? ,c=? d in(1,2,3,4)的过程是怎样的?
在sql语句执行后,数据库查询是一条一条匹配where后面的条件的么?
比如 第一条 a匹配成功,b匹配成功,c匹配成功d匹配成功
然后匹配第二条,a匹配成功,b匹配不成功,继续匹配吓一跳
然后匹配第三条 a匹配不成功,继续匹配下一条
然后匹配第四条, a匹配成功,b匹配成功,c匹配成功d匹配不成功?
请问是这样吗?

如果是这样的话,在大数据量的表中是不是
类似select * from tb in (select * from tb where a =? and b in(select b from tb where b = ? ))
这种的效率比较高?

------解决方案--------------------
sql的条件是从后向后解析
先判断d in(1,2,3,4),符合条件再判断c=? ,依次类推,所在要把效率高的条件放在最后,一为了缩小数据集的范围,二提高效率。
------解决方案--------------------
探讨
sql的条件是从后向后解析
先判断d in(1,2,3,4),符合条件再判断c=? ,依次类推,所在要把效率高的条件放在最后,一为了缩小数据集的范围,二提高效率。
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: