过度使用DBLINK带来的问题123

今天在编写代码的过程中,遇到一个比较纠结的问题:Java搭建数据连接访问数据库和dblink访问数据库那个效率高一点?于是,自己百度到一些东西,分享给大家

【百度内容】

     dblink开发上不是很难。如果是表结构和数据的变化不是很大,而且数据量不是很多的情况下可以考虑dblink。实践中告诉我dblink不是很稳定。数据库出现问题以及数据库的链接断开等很多因素都能导致dblink中断。
用java程序来控制当然非常灵活而且稳定。而且可以记录详细的日志。并对数据上传做好记录,对数据的重传等机制的控制都能做的很好。
所以如果是简单的两个系统之间数据量不是很大的情况下用dblink比较简单,迅速
如果是数据库复杂,牵扯到多个数据库的传递和修改。那最好是用程序来控制吧。

大量使用dblink的缺点如下:

1. 大量消耗数据库资源;

本地系统每通过DBLINK链接远端系统一次,都会生成一个本地session,如本地session不退出或者手动释放,只有通过session超时才能自动释放,会浪费大量的系统资源

2. 容易出现数据库BUG;

大量使用DBLINK,本地系统极易出现ORA-02068、ORA-03113、ORA-02080、ORA-02054、ORA-02050等Oracle错误,这种错误大部分会影响当前session正在处理的业务

3. 性能较差;

由于使用DBLINK,本地系统在获取数据时,每次链接都会对远端数据库进行一次全表扫描,且所有数据都会传输回本地数据库内,导致性能降低并且严重浪费当前系统资源。尤其出现一条sql语句从两个DBLINK中取数,更被称之为“性能杀手”,尤其是OLTP型数据库

4. 数据传输不

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值