幾天的總條數的話(huà)這樣寫(xiě)的,真是太神奇了
優(yōu)采云 發(fā)布時(shí)間: 2021-08-04 03:32幾天的總條數的話(huà)這樣寫(xiě)的,真是太神奇了
這幾天一直在做一些python項目的開(kāi)發(fā)。我使用了 python 的 ORM 框架 sqlAlchemy。因為對python和sqlAlchemy不熟悉,所以積累了一些小知識點(diǎn)分享給大家。
獲取文章總數
一般情況下,如果我們想知道表的總條目數,sql是這樣寫(xiě)的:
select count(id) from user
這樣我們就可以得到表中項目的總數
如果我想在sqlAlchemy中獲取項目總數應該怎么做?
這種用途,func需要被引用
from sqlalchemy import func
count =session.query(func.count(user.id)).scalar()
如上,我們可以得到數據的數量。
相關(guān)鏈接
截圖
按頁(yè)面搜索
比較簡(jiǎn)單,直接粘貼代碼
我的錯誤
查詢(xún)總條目數時(shí)不使用Func.count()
我是這樣寫(xiě)的
userlist=session.query(user).order_by(user.id.desc())
count=len(list(userlist))
userlist = userlist.limit(pageSize).offset(
(pageIndex-1)*pageSize)
這樣也可以得到數據的個(gè)數。如果數據量很小,你可能沒(méi)有什么感覺(jué)。數據量大的時(shí)候,你會(huì )發(fā)現查詢(xún)數據真的很慢
相當于查詢(xún)數據庫兩次,然后重新計算內存中的條目數和分頁(yè)。
這在大量數據的情況下效率極低