在postgresql插入大量数据,是不是先要关闭自动提交?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在postgresql插入大量数据,是不是先要关闭自动提交?相关的知识,希望对你有一定的参考价值。
C#开发:在postgresql插入大量数据时,是否需要设置AutoCommit为false,要是不设置的话是不是每插入一条数据都会提交一次,大大降低了插入速度?
要是需要设置?请问如何设置??拜谢
COPY只是一个sql命令,不需要设置的,postgresql的文档里面有这个命令的详细用法。
有什么问题就HI我吧。 参考技术A 写个存储过程吧
SQLITE3插入大量数据,效率翻百倍
参考技术A 用SQLITE插入商品数据,发现才500条 就需要10多秒时间,太慢了。后来查了一下原因。如下:大量插入数据 SQLITE插入一条数据,事务就会被反复地开启、关闭,会增大IO量。如果在插入数据前显式开启事务,插入后再一起提交,则会大大提高IO效率,进而加数据快插入速度。
根据测试结果:不预先开启事务,效率20 条/s。预先开启事务效率34095条/s。
这个效率差距挺大的。
//预先开启事务
db.execDML("begin;");
//提交并关闭事务
db.execDML("commit;");
加上后,几百条商品数据1秒都不要 就插入完毕了,不错。
记录一下
以上是关于在postgresql插入大量数据,是不是先要关闭自动提交?的主要内容,如果未能解决你的问题,请参考以下文章
从 Django 创建 SQL 插入脚本以填充 PostgreSQL 数据库