缘由
当我们需要使用pymysql
进行大量数据的提取时,发现越来越慢。直到阻塞,down。
解决
使用SSDictCursor
无缓冲游标来操作,使用fetchall_unbuffered
,来进行。同时辅以分页查询即可。
首先是建立连接,curror
的选择
1 |
from pymysql import connect, cursors |
注意在此可以选择无缓冲游标, 来操作。即cursors.SSCursor
,cursors.SSDictCursor
。
1 |
page_count = 1000 |
当然还可以在函数中这样写
1 |
def unbuffer_query(page_count=1000, max_page=1000): |
瑞思拜~