使用dblink,执行下面语句非常慢

[复制链接]
查看11 | 回复5 | 2009-10-9 08:28:00 | 显示全部楼层 |阅读模式
执行下面的delete语句非常慢,要一个小时,有没有什么解决办法?DELETE FROM SOCIALINSURANCE@TZ_DBLINK T
WHERE EXISTS (SELECT 1

FROM CHECKBASE CB, CHECKRECORDS CR, CHECKGINSENG CG
WHERE CB.AAA004 = CR.AAA011
AND CB.AAA004 = CG.AAA011
AND CB.AAC003 = T.AAC003
AND CB.AAC002 = T.AAC002)复制代码同样的条件,做select语句大概20秒,为什么delete那么慢?
SELECT t.* FROM SOCIALINSURANCE@TZ_DBLINK T
WHERE EXISTS (SELECT 1
FROM CHECKBASE CB, CHECKRECORDS CR, CHECKGINSENG CG
WHERE CB.AAA004 = CR.AAA011
AND CB.AAA004 = CG.AAA011
AND CB.AAC003 = T.AAC003
AND CB.AAC002 = T.AAC002)复制代码

回复

使用道具 举报

千问 | 2009-10-9 08:28:00 | 显示全部楼层
这个你要加hints处理。让计算结果在一台机器上运行。
回复

使用道具 举报

千问 | 2009-10-9 08:28:00 | 显示全部楼层
也许select仅仅显示前面几条。执行完成时间差不多呢。。。
回复

使用道具 举报

千问 | 2009-10-9 08:28:00 | 显示全部楼层
或者有 lock ?
回复

使用道具 举报

千问 | 2009-10-9 08:28:00 | 显示全部楼层
1、满足条件的记录有多少?
2、相关表有多少条记录?
3、提供真实的执行计划。
回复

使用道具 举报

千问 | 2009-10-9 08:28:00 | 显示全部楼层
看执行计划,分析原因吧.
http://www.itpub.net/thread-1786077-1-1.html--看一下兔子写的DBLINK操作的语句执行机制及优化方式
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行