db.connect()
sentenceTB = sentenceTB.select()
for i, sentence in enumerate(sentenceTB):
with open('./commentary/sentence%i.txt' %i, 'w', encoding='utf-8') as f:
f.write(sentence.SNTENC)
db.close()
我使用此代码连接到数据库,选择一个表并将该表中的所有内容写入单独的文件。该表有超过1百万条记录,它首先变得很棒,但是当代码开始写入第900万条记录时,计算机的速度非常慢。 PyCharm不断要求我为它分配更多内存,如果在1小时内完成500k记录,现在需要1小时才能写出50-100条记录。
我认为它应该以某种方式连接到释放内存,但我真的不知道该怎么做。
任何帮助都将不胜感激。
答案 0 :(得分:0)
你需要关闭光标吗?看起来你每次迭代都会打开一个新的,这可以解释几十万次迭代后内存的不足。
db.connect() sentenceTB = sentenceTB.select() 对于i,枚举中的句子(句子TB): with open('./ commentary / sentence%i.txt'%i,'w',encoding ='utf-8')为f: f.write(sentence.SNTENC) cursor.close() db.close()