问题:
利用sqlalchemy:
page_size = 1000
page_num = 0
session.query(EsContentData).limit(page_size).offset(page_size*page_num).all()
当数据库数据非常多的情况查询速度就回非常慢。经过测试select * from table limit 1000 offset 2000000;执行这一条语句需要5S多的时间,经过修改,执行SELECT * FROM table WHERE id>20000000 LIMIT 1000 ;只需要0.6S左右,速度大幅度提升。
经修改代码查询语句改为:
content_list = self.session.query(EsContentData).filter(EsContentData.id > page_size*page_num).limit(page_size).all()
#EsContentData为要查询表的类名。