在会话中处理大量记录
📁 功能, 烧瓶, 人工智能, 工作, 项目
使用SQLAlchemy处理大量记录的正确方法是什么?
我有两个表。第一个表有500万条记录,类型如下:question_id、view_count、counted。第二个表包含每个唯一question_id的view_count总和。如果我们从第一个表中将记录计入第二个表,counted会被设置为true。
目前代码如下:
def update_most_viewed(): query = QuestionViewHistory.query.filter_by(counted=False).distinct() question_count = query.count() frame_size = 1000 counter = 0 while counter <= question_count: all_questions = query.offset(counter*frame_size).limit(frame_size).all() for question in all_questions: # 处理逻辑 pass counter += 1