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

delete多条数据,该如何解决

2012-12-29 
delete多条数据表a(datetime date primary key)表b(字段1 varchar2(20) primary key,datetime date,bigfil

delete多条数据
表a(datetime date primary key)
表b(字段1 varchar2(20) primary key,
    datetime date,
    bigfiled blob)
假设表a有八万表记录
表b有24万条记录
现在我想实现的delete表a的datetime字段值在表b中不存在的记录。必须考虑到效率的问题。
[解决办法]
-- 哦,不存在,看错了! 用NOT EXISTS

-- a、b表的datetime字段创建索引

CREATE index on a(datetime asc);
CREATE index on b(datetime asc);

DELETE FROM b u1
WHERE NOT EXISTS ( SELECT DISTINCT u2.datetime FROM a u2
               WHERE u2.datetime=u1.datetime );

热点排行