首頁 > 問答 > 主體
目的: 在超過10萬個資料 隨機 選取一條資料。 我的方法: data=db[item].find().skip(random_num).limit()遇到問題: 耗費時間很長才能隨機找到資料。根據profile測試,是因為find().怎麼優化?
仅有的幸福2017-04-28 09:06:33
建議在隨機取得時候根據具體的查詢條件來做。不要直接透過skip的方式。
某草草2017-04-28 09:06:33
你知道mongo的聚合框架不?查查吧,高性能的關鍵。只要不是跨庫,不是引用,都能用。
阿神2017-04-28 09:06:33
先在item上建立索引,可以大幅提高查詢速度。另外可以把隨機數條件變成具體查詢條件(用隨機數建構)。另外,聚合框架對你提出的這種簡單地find查詢並沒有什麼幫助。