pymysql批量检索数据

a14dhokn  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(522)

我正在使用pymysql与sql db交互,下面是代码:

query = "SELECT * FROM my_table"
    c = db.cursor(pymysql.cursors.DictCursor)
    c.execute(query)
    c.fetchall()

现在我正在为一个包含3000个entries的数据库做这个,这并不多,我计划在一个包含1500万个entries的数据库上使用这个,我想把数据作为一个包含5000个entries的批量循环出来
我想知道我是否需要在查询中使用limit和offset,或者我是否可以使用pymysql模块中的一个方法。。。谢谢您

xam8gpfp

xam8gpfp1#

我是这样做的:

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()

相关问题