我正在使用pymysql與sql db進行交互,這是代碼: query = "SELECT * FROM my_table" c = db.cursor(pymysql.cursors.DictCursor) c.execute(query) c.fetchall()現在我正在為不多的3000個腸的數據庫執行此操作,我計劃在具有1500萬個腸的數據庫中使用此數據庫,并且我希望將數據作為5000個腸的批次進行循環處理我想知道是否需要在查詢中使用LIMIT和OFFSET來執行此操作,還是可以僅使用pymysql模塊中的方法來執行此操作...謝謝
1 回答

溫溫醬
TA貢獻1752條經驗 獲得超4個贊
我這樣做的方式是這樣的:
query = "SELECT * FROM my_table"
c = db.cursor(pymysql.cursors.DictCursor)
c.execute(query)
limit = 5000
not_done = True
while not_done:
data = []
for _ in range(limit):
try:
data += [c.fetchone()]
except:
not_done = False
break
do_something_with_data()
添加回答
舉報
0/150
提交
取消