为什么sqlalchemy中select * 比select col_1,col_2...快?

总共才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()虽然都能取到数据,但是时间差别比上面的还要大很多,很疑惑!

阅读 3.4k
1 个回答

Select * 不需要filter数据啊

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题