使用pymysql插入大量数据,解决ex

中科白癜风暖心公益活动 http://baijiahao.baidu.com/s?id=1700171702894531267&wfr=spider&for=pc

使用pymysql的executemany目的是想利用bulkinert机制来提高插入大量数据的效率。

比如我这里往aliyun的rds中插入条股票预测数据

居然用了13秒

然后我用insert循环插入条数据,结果差不多。

有些人说是rds慢,所以我得先排除这个问题。实际上不是的,而是executemany根本就没有提高效率!有人看过源代码,说是executemany内部也是循环调用insert。我没有看源代码,因为那解决不了问题。

我用的方法是,把条数据拼起来,做成一个超长的字符串

insertintotable(字段1,字段2,...字段n)values(值1,值2....值n),(值1,值2....值n),....(值1,值2....值n);

一共个(值1,值2....值n),

然后直接用execute就可以了,结果非常满意!

只用了0.09s就搞定了

这个后面的值有长度极限吗?我自己尝试了0条数据,完全没问题,倒是拼接花了不少时间。那么如果数据量再大怎么办,那么我想可能要用loaddata之类的办法了。




转载请注明:http://www.aierlanlan.com/rzfs/1967.html

  • 上一篇文章:
  •   
  • 下一篇文章: