in 和 exists 执行区别

来源:互联网 发布:keep软件注册昵称格式 编辑:程序博客网 时间:2024/06/09 14:14

首先说in:in查询范围是在所需要查询的表里 作二次查询。就是说在查询的时候,第一次查询先扫描全表,

然后再根据in的筛选条件去做二次查询。至于效率这方面 我个人觉得是针对少量数据的表 比较适合用in。

对较大筛选条件的来说  in的筛选条件 只能有1000个 ,多了就会报错。

exists:exists是配合子查询来使用,也是单次过滤查询(我个人喜欢这么说,若有问题请诸位大神斧正),

就是在第一遍扫描全表的时候查询条件就已经跟随其中,做第一批次的筛选过滤。对于数据量很大的表来说 和in相比,

甩了不知道多少条街(就数据量很大的效率而言)。

原创粉丝点击