偶是菜鸟,看看这个关联删除的sql能不能优化一下? delete from A a where a.id in (select b.id from B b)顺便问一句:还有别的方法实现关联删除吗? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 delete from A a where exists (select 1 from from B b where a.id = b.id ) delete from A a where exists (select 1 from B b where a.id = b.id ) 你这个已经很不错了。用exists比用in或not in好不到哪里去。 一般情况下是exits>in>not in.如果数据量很小的话,之间的差别可以忽略不计 对于外表数据比嵌套的数据少 就exists 相反则in 用in时内表需要排序,外表大内表小的时候用in用exists时,内表可以使用缩影,内表大的时候使用exists效果好点 至于exists和in的区别,8楼说的比较详细。另外,级联删除你可以试试查看用cascade Oracle10g linux下安装报Error in writing to directory /tmp/OraInstall.... 使用oracle出现下面问题,求高手指教?????? 求助:Oracle 导入XML路径问题 关于条件表达式字符串整表更新的问题 oracle8i 数据库链接 sqlite怎么用? 简单查询,求助 请教一个sql语句 请问:如何追加日期型的字段值? Oracle备份(Rman)软件的思路问题!急!!! 求救..关于oracle事物问题 那位大侠帮我提供一个子级OR的优化方案!
用exists比用in或not in好不到哪里去。
如果数据量很小的话,之间的差别可以忽略不计
对于外表数据比嵌套的数据少 就exists 相反则in
用exists时,内表可以使用缩影,内表大的时候使用exists效果好点