Python SQL Server更新查询花费的时间太长
我从一列中提取数据,对其进行排序,并使用每个记录对应的排序结果更新同一表中的另一列。对170000条记录进行排序需要12分钟,但更新需要5小时。有没有办法加快更新?下面是我的代码:Python SQL Server更新查询花费的时间太长,python,sql,sql-server,Python,Sql,Sql Server,我从一列中提取数据,对其进行排序,并使用每个记录对应的排序结果更新同一表中的另一列。对170000条记录进行排序需要12分钟,但更新需要5小时。有没有办法加快更新?下面是我的代码: connection = pyodbc.connect('DRIVER={SQL Server};SERVER=server_name;DATABASE=db_name) cursor = connection.cursor() query = """update tbl set sorted_data= (?)
connection = pyodbc.connect('DRIVER={SQL
Server};SERVER=server_name;DATABASE=db_name)
cursor = connection.cursor()
query = """update tbl set sorted_data= (?) where Id= (?)"""
for row1 in rows1:
srow1 = re.split(';|,|\s', row1[0])
sortrow1 = ';'.join(sorted(srow1, key=str.lower))
values.append((sortrow1,row1[1]))
count=count+1
cursor.executemany(query,values)
connection.commit()
connection.close()
使用这段代码,您将执行170000条单独的更新语句。开始时,SQL Server要做的第一件事就是编译整批UPDATE语句。而且更新速度非常慢!有关更多详细信息,请参阅本讨论:我看到讨论中提到的“turbodbc”,它进行批量更新。我将使用它进行测试。谢谢大家!@笑维吉尔