http://blog.jobbole.com/80464/
大數據分頁查詢時直接使用關鍵key來分頁,不使用Skip()函數,數據量達到千萬級別的時候你就會懷疑程序是不是卡死了(坑只有自己爬過才知道
)
不要輕易使用Skip來做查詢,否則數據量大了就會導致性能急劇下降,這是因為Skip是一條一條的數過來的,多了自然就慢了。
這里直接貼一些簡單的代碼,詳情參看原作者.
就是通過關鍵詞查詢語句來進行分頁
PS:因為Skip是一條一條的數過來的,也是就時間是線性增長的
db.test.find({amount:{$gt:2399927}}).sort({"amount":1}).limit(10)
為什么不使用_id為分頁索引
1.對象的索引會改變的,改變情況如下:
http://blog.csdn.net/miyatang/article/details/22413569
2.也就是說你的數據庫,僅僅是用來查詢的話. _id
也是可以使用的
from bson.objectid import ObjectId
_id = ObjectId('5982b6a539b66bb9d07a6128')