sqlalchemy query中的all()方法,会一次性把所有数据弄到内存里??

documentation中说:
ReturntheresultsrepresentedbythisQueryasalist.
返回实例列表,如果这个表很大很大,那么这个列表岂不是很占内存?
实际案例:
需要在user表中筛选符合条件的用户,然后随机返回一位。
不知道是直接用sqlalchemy的orm做,还是用sql语句做。新手,对mysql不是太懂
【感谢亲们的回答。不过我提问的重点在于query中的all()方法,获取的列表,到底是个什么概念。像t=User.query.all(),会把所有user表的记录从数据库全都弄到本地?】
绝地无双
浏览 771回答 2
2回答

ITMISS

先在filter层做过滤,再做limit,这样会不会好些?而且你不是本来就是要先『筛选』吗?

天涯尽头无女友

如果主键是一个自增字段的话,可以用一个全局变量来缓存最大的主键,然后每次查询就从1到这个最大值直接取随机数,用得到的随机数来作为主键查询条件。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript