我有一个 Python 脚本,它将一些日志数据导入到一个StringIO
对象中,然后逐行读取其中的数据,并将它们输入到数据库表中。经过一些迭代后,脚本需要相当长的时间。解释一下,运行 1500 条日志需要 ~1.6 秒,运行 3500 条日志需要 ~1m16s,然后运行 1100 条日志需要 20 秒!
我的脚本布局如下:
for dir in dirlist:
file = StringIO.StringIO(...output from some system command to get logs...)
for line in file:
ctr+=1
...
do some regex matches and replacements
...
cursor.insert(..."insert query"...)
if ctr >= 1000:
conn.commit() # commit once every 1000 transactions