![](/img/trans.png)
[英]Split single column into multiple columns in SQL server based on number of records
[英]SQL - Update all records of a single column
我正在尝试编写一个python脚本来解析文件,并使用从解析文件中获取的新值更新数据库。 我的代码如下所示:
startTime = datetime.now()
db = <Get DB Handle>
counter = 0
with open('CSV_FILE.csv') as csv_file:
data = csv_file.read().splitlines()
for line in data:
data1 = line.split(',')
execute_string = "update table1 set col1=" + data1[1] +
" where col0 is '" + data1[0] + "'"
db.execute(execute_string)
counter = counter+1
if(counter % 1000 == 0 and counter != 0):
print ".",
print ""
print datetime.now() - startTime
但是该操作大约需要10分钟才能完成。 有什么办法可以调整SQL查询以加快速度吗?
以批处理大小(可能是1000个)读取行,并尝试对mysql进行bulk_update查询。 我认为该过程将比当前过程更快,因为在较少的查询中您将更新更多的数据。
我同意您需要批量处理。 查看此问题和最佳答案如何使用Python将批处理插入Oracle数据库?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.