【python存数据库速度】
1、需要从文本中读取三万条数据写入mysql数据库,文件中为用@分割的sql语句,但是在读取的过程中发现速度过慢,三万八千条数据需要220秒,
2、经测试发现,影响速度的主要原因是commit(),因为没过几秒提交一次即可,但是因为提交的字符长度有限制,所以要设置一个合理的时间读取。
3、更改后,写入三万八千条数据仅需要9秒
我们以往的经验,生成对比信息的字典代码如下:def getCurrentCompareMessageDict0(dict0, dict1):
'''未被优化的获取当前对比信息字典'''
dlist0=list(dict0.keys())
dlist1=list(dict1.keys())
dict2={}
for i in range(len(dlist1)):
if dlist1[i] not in dlist0:
key=dlist1[i]
value=[0, dict1[dlist1[i]]]
dict2[key]=value
else:
if dict1[dlist1[i]]/100.0 != dict0[dlist1[i]]:
key=dlist1[i]
value=[dict0[dlist1[i]], dict1[dlist1[i]]]
dict2[key]=value
return dict2
即,先构建两个dict的key列表。
然后,以key列表的长度为上限,进行for循环,采用DICT[KEY]的方式来进行列表数据的筛选。
这个方法的运行是超级慢的。
有很多基于Python的数据分布式存储的案例。以下是其中几个:
Apache Hadoop:Hadoop是一个基于Java的开源框架,但是它也提供了Python API。Hadoop是一个分布式存储和计算平台,用于处理大规模数据集。
Apache Spark:Spark是一个快速通用的计算引擎,可用于大规模数据处理。它支持Python语言,并提供了Python API。
Apache Cassandra:Cassandra是一个高度可伸缩的分布式数据库,具有强大的容错能力。Cassandra提供了Python驱动程序,可用于Python应用程序。
Apache HBase:HBase是一个分布式非关系型数据库,可在Hadoop集群上运行。它支持Python API。
PySpark:PySpark是Spark的Python API,它允许您使用Python编写Spark作业。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)