pymysql executemany update 操作很慢
时间: 2023-06-28 17:04:05 浏览: 206
pymysql模块的操作实例
如果pymysql executemany update操作很慢,可能是因为每次操作都需要建立和关闭数据库连接,这会给服务器带来一定负担。为了优化性能,可以考虑使用批量操作,通过一次连接实现多个操作。
具体做法如下:
1.准备好要更新的数据,将它们存储在一个列表中;
2.使用executemany()方法,一次性提交所有数据的更新请求;
3.使用commit()方法提交事务。
示例代码如下:
```
import pymysql
# 打开数据库连接
db = pymysql.connect(host='localhost', user='root', password='123456', database='test', port=3306)
# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()
# 准备更新的数据
data_list = [('name1', 'pwd1', 1), ('name2', 'pwd2', 2), ('name3', 'pwd3', 3)]
# 执行批量操作
sql = "UPDATE user SET name=%s, passwd=%s WHERE id=%s"
cursor.executemany(sql, data_list)
# 提交事务
db.commit()
# 关闭数据库连接
db.close()
```
需要注意的是,批量操作也有一定的限制,如果数据量过大,一次性提交可能会导致服务器负担过重,甚至导致数据库崩溃。因此,应根据具体情况适当调整批量操作的数据量。
阅读全文