首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > 高性能WEB开发 >

sql中,in 和 = 运算符哪个效率高解决方案

2012-03-16 
sql中,in 和 运算符哪个效率高我测试了不少次,感觉他们两个都差不多。[解决办法]弄上几千万数据量试试看?

sql中,in 和 = 运算符哪个效率高
我测试了不少次,感觉他们两个都差不多。

[解决办法]
弄上几千万数据量试试看?~~~~
看情况吧。
我觉得=比in快。。。
in 还没有exists 效率高呢~~~
[解决办法]
=的速度快。。。。
[解决办法]
对,=的速度快,因为'='是等号右边的值直接赋给等号前面的变量,,

而in 则是在in后面的集合中寻找,有可能集合中会是多个,

结果可见

回答完毕

2009-11-17 09:28:00
[解决办法]

探讨
对,=的速度快,因为'='是等号右边的值直接赋给等号前面的变量,,

而in 则是在in后面的集合中寻找,有可能集合中会是多个,

结果可见

回答完毕

                                                                  2009-11-17 09:28:00

[解决办法]
= 可以用索引
数量量大的时候就看的出
[解决办法]
in 备选结果很大时,效率很低的。同时可以考虑使用exsit替代in
[解决办法]
探讨
in 备选结果很大时,效率很低的。同时可以考虑使用exsit替代in

[解决办法]
探讨
= 可以用索引
数量量大的时候就看的出

[解决办法]
使用exists
不建议使用in 和not in
in会使用表扫描
[解决办法]
帮顶啦!
=的效率高
[解决办法]
==的效率高
[解决办法]
当然是=号的效率高 数据多了 就知道效果了
[解决办法]
同上各个楼层的
[解决办法]
探讨
in 备选结果很大时,效率很低的。同时可以考虑使用exsit替代in

[解决办法]
个人觉得in和=效果差不多
select * from B where cc in (select cc from A) ;
假如:select cc from A就只有2个值1,2
oracle会把上面的语句变成
select * from B where cc=1 or cc=2;

如果B表上cc列有索引,2条语句都能使用索引
效率上select * from B where cc=1 or cc=2;略高些,也就高在将select * from B where cc in (select cc from A) ;的过程转为select * from B where cc=1 or cc=2;

热点排行