gpt4 book ai didi

python-3.x - 我应该重用游标对象还是使用 mysql.connector 创建一个新对象?

转载 作者:行者123 更新时间:2023-12-03 23:12:34 25 4
gpt4 key购买 nike

我应该重用游标对象还是为每个查询创建一个新的?

重用游标:

    # we're going to connect to s3 and mysql
db = mysql_connect(host="localhost",
user="user",
passwd="pass",
database="db")

# Reusing the cursor
cursor = db.cursor()

# loop through all the files in the bucket one by one
for key in bucket.get_all_keys():

# the document id is the filename in the s3 bucket
doc_id = key.name.split("/")[-1]
cursor.execute("SELECT document_name FROM laws_docs WHERE id = %i", (doc_id,))
doc_name = cursor.fetchone()[0]

cursor.close()

- 或者 -

每次都有新光标:

    # we're going to connect to s3 and mysql
db = mysql_connect(host="localhost",
user="user",
passwd="pass",
database="db")

# loop through all the files in the bucket one by one
for key in bucket.get_all_keys():

# new cursor
cursor = db.cursor()

# the document id is the filename in the s3 bucket
doc_id = key.name.split("/")[-1]
cursor.execute("SELECT document_name FROM laws_docs WHERE id = %i", (doc_id,))
doc_name = cursor.fetchone()[0]

ursor.close()

它甚至重要吗?该循环将至少运行 50,000 次。

最佳答案

如果您使用的是 MySQL Connector/Python , cursor = db.cursor()将创建一个新的 CMySQLCursor实例(或 MySQLCursor,如果您使用的是纯 Python 版本)。因此,对于您的第一个示例,您将创建 50,000 个游标实例。
你只需要一个光标。打开和关闭 for 外的游标循环(使用你的第一个例子)。

关于python-3.x - 我应该重用游标对象还是使用 mysql.connector 创建一个新对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55987509/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com