总共才1万条数据,就已经可以看出时间差别了。
User.query.with_entities(User.id, User.nickname, User.sex, User.status, User.album_num, User.school, User.last_seen, User.user_id, User.avatar_path).filter(User.sex == sex, User.status == status, User.role != -1, User.last_seen > (datetime.now() - timedelta(days=20)))
平均时间0.00258880533094
User.query.filter(User.sex == sex, User.status == status, User.role != -1, User.last_seen > (datetime.now() - timedelta(days=20)))
平均时间0.00107115428664
什么原因呢?
除此之外,加all()比不加all()虽然都能取到数据,但是时间差别比上面的还要大很多,很疑惑!
Select * 不需要filter数据啊