84669 人學習
152542 人學習
20005 人學習
5487 人學習
7821 人學習
359900 人學習
3350 人學習
180660 人學習
48569 人學習
18603 人學習
40936 人學習
1549 人學習
1183 人學習
32909 人學習
目的: 在超過10萬個資料 隨機 選取一條資料。 我的方法: data=db[item].find().skip(random_num).limit()遇到問題: 耗費時間很長才能隨機找到資料。根據profile測試,是因為find().怎麼優化?
建議在隨機取得時候根據具體的查詢條件來做。不要直接透過skip的方式。
你知道mongo的聚合框架不?查查吧,高性能的關鍵。只要不是跨庫,不是引用,都能用。
先在item上建立索引,可以大幅提高查詢速度。另外可以把隨機數條件變成具體查詢條件(用隨機數建構)。另外,聚合框架對你提出的這種簡單地find查詢並沒有什麼幫助。
建議在隨機取得時候根據具體的查詢條件來做。不要直接透過skip的方式。
你知道mongo的聚合框架不?查查吧,高性能的關鍵。只要不是跨庫,不是引用,都能用。
先在item上建立索引,可以大幅提高查詢速度。另外可以把隨機數條件變成具體查詢條件(用隨機數建構)。另外,聚合框架對你提出的這種簡單地find查詢並沒有什麼幫助。