【发布时间】:2013-07-13 09:33:13
【问题描述】:
我正在使用 SQLAlchemy,并且我的插入函数工作正常。但是,我希望并且我需要它高效,因此由于我在“for 循环”中插入,我想在程序执行结束时只提交一次。
我不确定,这种想法是否适用于 SQLAlchemy,所以请告诉我正确、有效的方法。
我的代码将从 for 循环中调用 insert_query 函数。我不返回在函数调用中创建的查询对象。
def insert_query(publicId, secret, keyhandle, secretobj):
#creates the query object
sql = secretobj.insert().values(public_id=publicId, keyhandle=keyhandle, secret=secret)
#insert the query
result = connection.execute(sql)
return result
#####################
# CALL INSERT BELOW #
#####################
#walk across the file system to do some stuff
for root, subFolders, files in os.walk(path):
if files:
do_some_stuff_that_produce_output_for_insert_query()
#########################
# here i call my insert #
#########################
if not insert_query(publicId, secret, keyhandle, secretobj):
print "WARNING: could not insert %s" % publicId
#close sqlalchemy
connection.close()
【问题讨论】:
标签: python sql sqlalchemy performance