skip效能問題


  • Lv 1

    例如:
    有100萬筆資料(無任何相關能排序資料)
    db.collection.find().limit(100);
    執行速度非常快,
    但如果使用skip,則要非常久才會顯試結果
    db.collection.find().skip(100000).limit(100)


    除了使用 index方式外, 有其它改善方式增加速度呢? 


  • 註冊用戶

    From MongoDB 

    本帖下載内容已隐藏,请登入以查看隐藏内容!
    :

    Paging Costs

    Unfortunately skip can be (very) costly and requires the server to walk from the beginning of the collection, or index, 

    to get to the offset/skip position before it can start returning the page of data (limit). As the page number increases skip will 

    become slower and more cpu intensive, and possibly IO bound, with larger collections.

    Range based paging provides better use of indexes but does not allow you to easily jump to a specific page.


  • 註冊用戶

    這裡有討論過

    http://forum.foxera.com/mongodb/topic/473/mongodb-使用skip-limit实现分页查询性能差有什么解决方法


  • Lv 1

    所以其實只有換方式查詢解決方式了


登录后回复
 

与 萌阔论坛 的连接断开,我们正在尝试重连,请耐心等待