- 获取总条数
通常情况下 我们想知道表中的总条数的话sql这样写的:
select count(id) from user
如此我们便可以得到表中的总条数
在使用sqlAlchemy中想要获得总条数怎么办?
这样使用,需要引用 func
from sqlalchemy import func
count =session.query(func.count(user.id)).scalar()
如上,我们就可以得到数据的条数
相关链接+官方链接
截图
- 分页查找
比较简单,直接贴代码userlist=session.query(user).order_by(user.id.desc()).limit(pageSize).offset( (pageIndex-1)*pageSize).all()
- 我犯的错误
查询总条数的时候没有使用func.count()
我是这么写的
userlist=session.query(user).order_by(user.id.desc())
count=len(list(userlist))
userlist = userlist.limit(pageSize).offset(
(pageIndex-1)*pageSize)
这样也可以获取到数据的条数,数据量少的话可能没有什么感觉,当数据量大的时候会发现,查询数据真慢
相当于查询了两次数据库之后,再在内存中重新计算条数和分页。
大数据量的情况下这样效率极低