首頁 > 資料庫 > mysql教程 > DB2删除数据慢解决方法

DB2删除数据慢解决方法

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
發布: 2016-06-07 17:17:19
原創
2028 人瀏覽過

db2有两张表,A主表 B从表,B的外键是A的主键 A B两个表数据量都超过百万, 删除A表的一条记录,用主键作为删除条件,时间有明

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的外键,然后删除就像闪电一样快了  :)

linux

相關標籤:
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
python MySQL 不儲存到我的資料庫表
來自於 1970-01-01 08:00:00
0
0
0
java - springboot新手學習
來自於 1970-01-01 08:00:00
0
0
0
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板