1、in是参数的默认模式,这种模式就是在程序运行的时候已经具有值,在程序体中值不会改变;
2、out模式定义的参数只能在过程体内部赋值,表示该参数可以将某个值传递回调用的过程;
3、inout模式表示高参数可以向该过程中传递值,也可将某个值传出去。
表A(小表),表B(大表)select * from B where cc in (select cc from A) 这个语句中是先从A表中把cc找出来,然后根据cc再在B中去找相关的cc 由于A表的cc远小于B表的cc 所以可以节省时间
select * from B exists (select cc from A where cc=B.cc)这句话是先从B表里把cc找出来 然后再在A表里找相关的cc 由于B表的cc远多于A表的cc 所以这样做很浪费时间
总结: 用in 时 大表在前小表在后
用exists时 小表在前大表在后
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)