CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Oracle >  基础和管理

两张表关联删除!急

楼主xiayangjian123(五月雪)2005-07-21 20:35:06 在 Oracle / 基础和管理 提问

delete     from   test1     where   id   in(select   id   from   test2).  
   
  怎么写才能提高效率啊!由于是几百万条记录的删除。! 问题点数:50、回复次数:5Top

1 楼zhangfengh(老狐狸)回复于 2005-07-21 20:52:27 得分 0

用exists代替inTop

2 楼mittee(最后一条大白鲨[无限深情凝视花花版])回复于 2005-07-21 22:04:17 得分 0

几百万条数据啊。  
  那要做索引,不过做一次索引也挺费时间的,  
  还有sql语句不要用in拉Top

3 楼liuyi8903(不让疑问伴随)回复于 2005-07-21 22:06:25 得分 20

用这种方式速度还不错的。  
    create   index   i_id   on   test1(id)   nologgingTop

4 楼njhart2003()回复于 2005-07-22 07:35:27 得分 20

两点想法:  
   
  1.  
  create   index   i_id   on   test1(id)   nologging;  
   
  alter   table   test2   cache;  
   
  delete   test1   where   exists   (select   1   from   test2   where   test1.id=test2.id);  
   
   
   
  2.  
  create   table   temp_t   nologging   as    
  select   *   from   test1    
  where   not   exists   (select   1   from   test2   where   test1.id=test2.id);  
   
  truncate   table   test1;  
   
  insert   /*+   append*/   into   test1   select   *   from   temp_t;  
   
  drop   table   temp_t;  
   
   
   
  Top

5 楼guangli_zhang(广丽)回复于 2005-07-22 07:54:01 得分 10

create   index   i_id1   on   test1(id)   nologging  
  create   index   i_id2   on   test2(id)   nologging  
  delete     from   test1     where   exists(select   1   from   test2   where   test1.id   =   test2.id)  
  Top

相关问题

  • 关联表的删除问题
  • 两表关联如何删除数据?
  • 如何同时删除数据环境里的三张表里的关联记录?(急,在线等!!)
  • 如何删除两张相关联的表中的记录,急~~~~~~~~不做好不能回家了55555
  • 删除时如何删除相关联的另外一个表的数据?
  • 关联表数据的删除--Foxpro高手来看看
  • 多表关联,怎么用解发器删除?
  • 在SQL SERVER里如何删除多表里关联的行?
  • 如何删除有表间关联的重复数据
  • 两个关联表的删除记录问题!!!!SQL的

关键词

  • nologging
  • test
  • exists
  • index i
  • where
  • temp
  • create
  • table
  • select

得分解答快速导航

  • 帖主:xiayangjian123
  • liuyi8903
  • njhart2003
  • guangli_zhang

相关链接

  • Oracle类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo