菜鸟 求救我的数据库删除效率问题
我用的是Access数据库,库中有几个表   A,B,C 
 3个表都没有主键,但可根据其中的3个字段可确定一条记录 
 A,B,C   表中都有   年度,编号,修改时间   ,这3个字段可以唯一确定一条记录。    
 A表为主表   我想删除B,C表中的记录,必须根据表A的条件    
 我的AQL如下 
 delete   from   b   where   年度   in   (select   年度   from   a   where   +条件)and 
                                                             编号   in   (select   编号   from   a   where   +条件)and    
                                                 修改时间   in   (select   修改时间   from   a   where   +条件) 
 效率很慢 
 求救高手解决!!!!!!!!
------解决方案--------------------尽量别用in操作,in的效率N慢。
------解决方案--------------------建索引,不要用in,
------解决方案--------------------应该改成   
 delete from b where (年度,编号,修改时间) in (select 年度,编号,修改时间 from a where +条件)   
 怎样写可以吗 
------解决方案--------------------没有主键, 还用多个使用 IN 的子查询,效率慢, 是正常的
------解决方案--------------------以下语句通过: 
 delete b from a where 年度 = a.年度 and 编号 = a.编号 and 修改时间 = a.修改时间 + 其他条件   
 注意后面关联的表条件中,涉及到表b的字段前面不能加“表名. ",而涉及到a的则要加。 
------解决方案--------------------设主键和索引可以更快。如果应用中必须使用子查询,用in应该没有问题。
------解决方案--------------------不要使用 in   改为效率高的 exists
------解决方案--------------------up
------解决方案--------------------exists的用法请参照下面的地址。 
 http://technet.microsoft.com/ZH-cn/library/ms188336.aspx
------解决方案--------------------up