MySQLdb批量插入数据

MySQLdb批量插入数据_redice's Blog

MySQLdb批量插入数据

测试了一下MySQLdb的executemany()方法,速度是惊人的:10分钟内插入了将近100万的数据。赶快来做个标记!

测试环境:Amazon RDS(Amazon Relational Database Service),数据表中原本有1900万条数据,测试完毕后,数据条数如下:

 
而之前我用execute()逐条插入同样多的数据竟然花了一个多周!!!

executemany()的用法如下:

  1. cursor.executemany(  
  2.       """INSERT INTO breakfast (name, spam, eggs, sausage, price) 
  3.       VALUES (%s, %s, %s, %s, %s)""",  
  4.       [  
  5.       ("Spam and Sausage Lover's Plate"5187.95 ),  
  6.       ("Not So Much Spam Plate"3203.95 ),  
  7.       ("Don't Wany ANY SPAM! Plate"0435.95 )  
  8.       ] )  
cursor.executemany(
      """INSERT INTO breakfast (name, spam, eggs, sausage, price)
      VALUES (%s, %s, %s, %s, %s)""",
      [
      ("Spam and Sausage Lover's Plate", 5, 1, 8, 7.95 ),
      ("Not So Much Spam Plate", 3, 2, 0, 3.95 ),
      ("Don't Wany ANY SPAM! Plate", 0, 4, 3, 5.95 )
      ] )

http://mysql-python.sourceforge.net/MySQLdb.html

1.2.3版的MySQL-python存在bug,"values"要小写才有效,详情见下面内容:

http://stackoverflow.com/questions/3945642/why-is-executemany-slow-in-python-mysqldb

posted on 2012-06-02 09:49  lexus 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/lexus/archive/2012/06/02/2531574.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值