当前位置: 主页 > 日志 > Python >

MySQLdb批量插入数据

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

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

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

executemany()的用法如下:

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

[日志信息]

该日志于 2012-05-01 12:38 由 redice 发表在 redice's Blog ,你除了可以发表评论外,还可以转载 “MySQLdb批量插入数据” 日志到你的网站或博客,但是请保留源地址及作者信息,谢谢!!    (尊重他人劳动,你我共同努力)
   
验证(必填):   点击我更换验证码

redice's Blog  is powered by DedeCms |  Theme by Monkeii.Lee |  网站地图 |  本服务器由西安鲲之鹏网络信息技术有限公司友情提供

返回顶部