首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > oracle >

从A表中删除B表无对应记录的记录,长时间没有反应?解决办法

2012-02-24 
从A表中删除B表无对应记录的记录,长时间没有反应?单位一个Oracle库中有两个表,A表结构如下:XH,JLXH,TPB表

从A表中删除B表无对应记录的记录,长时间没有反应?
单位一个Oracle库中有两个表,A表结构如下:
XH,JLXH,TP
B表结构为:
XH,SJ
其中,A.jlxh=B.xh
A.tp为Blob字段,存储图片数据。
近期发现A表中的部分记录在B表中没有对应的记录,需要清除。我用下面的语句:
select   count(*)   from   A   where   jlxh   not   in   (select   xh   from   B)
仅仅统计一下就长时间没有反应,不知道各位有没有好的方法。
A表中的记录大约有100万条,B表中大约30万条。A表中可能有多表记录对应B中的XH。


[解决办法]
delete from a where not exists
(select '1 ' from b where a.jlxh=b.xh);
a.jlxh和b.xh要建索引。

热点排行