Python存200w数据到数据库需要多久

Python存200w数据到数据库需要多久,第1张

Python存200w数据到数据库需要474秒,因为正常的三万八千条数据仅需要9秒,以此类推出200万需要的时间。

【python存数据库速度】

1、需要从文本中读取三万条数据写入mysql数据库,文件中为用@分割的sql语句,但是在读取的过程中发现速度过慢,三万八千条数据需要220秒,

2、经测试发现,影响速度的主要原因是commit(),因为没过几秒提交一次即可,但是因为提交的字符长度有限制,所以要设置一个合理的时间读取。

3、更改后,写入三万八千条数据仅需要9秒

作者:小风寒呐

链接:https://zhuanlan.zhihu.com/p/30212013

来源:知乎

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

首先我们读取图库中所有图片名称,保存在fileNames中。然后读取Data.csv中所有数据。

提取出Data.csv的最后一列(一共10002列,第10001列说明该数字是什么数字,第10002列是图片的名称),也就是数据库中存储的所有图片的名称,存储在item中。

将新加入图库的图片名称保存在newFileNames中。如果Data.csv为空,那么就直接令newFileNames

=

fileNames。也就是说如果数据库中什么也没有,那么图库中所有图片都是新加入的。

如果Data.csv不为空,那么就将item里面的内容与fileNames的内容比较,如果出现了fileNames里面有的名称item中没有,那么就将这些名称放进newFileNames中。如果item里有的名称fileNames中没有,那就不管。

也就是说,我令我们的数据库只进不出。

现在我们得到了新加入图库的图片的名称newFileNames。

将newFileNames中的名称的图片带入上一文中函数GetTrainPicture进行处理,得到了一个nx10001的矩阵,每一行代表一个新加入的图片,前10000列是图片向量,第10001列是该图片的数字,保存在pic中。

下载mysql.connector库

然后把爬虫爬到的数据通过mysql里面的insert语句查到数据库,当然也可以建表,一般我没用python建表 是先建好再写数据的

import mysql.connector

conn = mysql.connector.connect(

user='root',

password='root',

host='127.0.0.1',

port='3306',

database='test_demo'

)

cursor = conn.cursor()

cursor.execute("INSERT INTO test_user(`uuid`,`user_name`,`user_level`) VALUES (%s,%s,%s)",[id, user_name, user_level])

cursor.execute("INSERT INTO tieba_user_detail(`user_name`,`user_exp`,`user_sex`,`tieba_age`,`tieba_note`,`user_favorites`,`user_fans`) VALUES (%s,%s,%s,%s,%s,%s,%s)",[user_name,user_exp,user_sex, tieba_age,tieba_note, user_favorites, user_fans])

print('************** %s %s 数据保存成功 **************'%(user_rank,user_name))

conn.commit()

cursor.close()


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/6643454.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-03-26
下一篇2023-03-26

发表评论

登录后才能评论

评论列表(0条)

    保存