全量查詢&限量查詢之索引效能差異


  • Lv 1

    例如:

    索引A: {"count": 1, "name": 1}
    索引B: {"name": 1, "count": 1}

    請問 全量查詢&限量查詢效能差異與原理?


  • Lv 1

    @leo

    全量查詢 <-- 這是什麼意思


  • Lv 1

    有無使用limit差異


  • Lv 1

    查到網路解答:

    《MongoDB——The Definitive Guide 2nd Edition》page89
    實例:
    組合索引A: {"count": 1, "name": 1}
    組合索引B: {"name": 1, "count": 1}

    全量查詢: db.myorder.find({"count": {"$gte": 100, "$lte": 200}}).sort({"name" :1}),使用索引A的性能優於索引B。
    限量查詢: db.myorder.find({"count": {"$gte": 100, "$lte": 200}}).sort({"name": 1}).limit(1000),使用索引B的性能優於索引A。

    說明:
    查詢使用索引A的時候,先根據count索引找到符合count的數據,再對結果做排序。
    索引B時候,是先掃一次name,對應的數據判斷count,然後得到的結果是name有序的。
    優先使用sort key索引,在大多數應用上執行得很好。


登录后回复
 

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