数据库的插入操作中如何减少和数据库的交互

在程序开发中,往数据库中追加数据的话,一般有以下的3中语法。

        1、insert into table_name values(xxxx,xxxx,xxx,xxx);

        2、insert into table_name select xxx,xxx,xxx from table_b where xxxx;

        3、insert into table_name values(xxxx,xxxx,xxx,xxx),(xxxx,xxxx,xxx,xxx),(xxxx,xxxx,xxx,xxx),(xxxx,xxxx,xxx,xxx),(xxxx,xxxx,xxx,xxx);

mysql,postgreSQL,Oracle,MS SQL Server等主流数据库都支持以上的语法。


为了能尽量减少和数据库进行交互,在程序中如果有大数据量进行操作的时候,尽量能使用第2,或第3种方法。

在第3种方法中,因为文件长度,写逻辑日志等的限制和影响,一般采用人工控制一定数据量后进行提交后,继续执行。

比如100件记录为单位进行提交。

第3种方法,在实践中,比如20000件数据的追加的话,还是有很大的改善的。 从最初的10几分钟,改善到了一,二十秒钟。


当然,如果是文本文件往数据库中进行导入的话,各个数据库实际上大都有提供一些专用的load语法。

最好是直接使用他们。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值