DB2删除数据慢解决方法
db2有两张表,A主表   B从表,B的外键是A的主键 
A B两个表数据量都超过百万, 
删除A表的一条记录,用主键作为删除条件,时间有明显的延迟。 
如果用其他字段做where条件,一次删除目标为几百条,等了几分钟也没有删成功。
如果先删除B表应该关联删除的数据,删掉几百条也很快。但是再删A表数据还是不行。
分析原因,删B表数据db2直接删了,所以快。 
删A表数据的时候db2会先去B表查询关联记录,这样一次删除A表中目标为几百条记录的实际需要的操作是: 
1  根据条件选出A表记录集合,a 
2. 以a为驱动表,在B表中查询关联记录,并记录结果为b 
3. 删除B表中关联的数据b 
4. 删除a 
由于删除涉及到两张表,实际上从1到4的操作db2会自己加上事务,这样就慢了。
解决方法: 
很简单,取消B的外键,然后删除就像闪电一样快了  :)
相关推荐
  wintershii    2020-06-11  
   thunderstorm    2020-04-22  
   hxw0    2020-04-15  
   airfling    2020-02-19  
   JokerFei    2019-12-25  
   qiaoqiangv    2008-01-10  
   fairystepwgl    2016-03-22  
   WilliamLin    2014-05-10  
   zhaohuan    2019-08-13  
   Enn的数据库    2012-03-14  
   helloworlddm    2011-07-21  
   DataCastle    2014-03-17  
   spprogrammer    2016-03-22  
   linminqin    2011-11-25  
   learningoracle    2011-09-17  
   WilliamLin    2009-12-14  
   liumin    2019-06-29  
 