Avatar ·

在会话中处理大量记录

📁 功能, 烧瓶, 人工智能, 工作, 项目

如何正确处理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()        cou