python mssql bulk_Python+MySQL - Bulk Insert

There is a smarter way.

The problem with bulk insertions is that by default autocommit is enabled thus causing each insert statement to be saved to stable store before the next insert can initiate.

As the manual page notes:

By default, MySQL runs with autocommit  mode enabled. This means that as soon  as you execute a statement that  updates (modifies) a table, MySQL  stores the update on disk to make it  permanent. To disable autocommit mode,  use the following statement:SET autocommit=0;

After disabling  autocommit mode by setting the  autocommit variable to zero, changes  to transaction-safe tables (such as  those for InnoDB, BDB, or NDBCLUSTER)  are not made permanent immediately.  You must use COMMIT to store your  changes to disk or ROLLBACK to ignore  the changes.

This is a pretty common feature of RDBMs systems which presume that database integrity is paramount. It does make bulk inserts take on the order of 1s per insert instead of 1ms. The alternative of making an overlarge insert statement tries to achieve this single commit at risk of overloading the SQL parser.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值