• pymongo的比较排序查询性能比较,sort参数和sort函数, find和find_one




    sort参数与sort函数

    官方文档中,find函数中的说明表明,在find中传参应该和cursor后面调用sort函数一样

    find(filter=None, projection=None, skip=0, limit=0, no_cursor_timeout=False, cursor_type=CursorType.NON_TAILABLE, sort=None, allow_partial_results=False, oplog_replay=False, modifiers=None, manipulate=True)


    • sort (optional): a list of (key, direction) pairs specifying the sort order for this query. See sort() for details.


    查询条件和排序条件如下

    query = {
    # 'start': {'$lte': int_ip},
    'end': {'$gte': int_ip}
    }
    sort = [('end', 1)]

    sort作为入参查询方式
    cursor = db.aiwen.find(query, sort=sort, limit=1)

    sort函数调用方式
    db.aiwen.find(query).sort([('end', 1)]).limit(1)

    为了保证格式统一,将find_one替换成find函数
    sort参数方式调用 耗时  cost:1.97000002861
    sort函数方式调用 耗时  cost:1.97200012207

    但用Robomongo工具查询,发现时延很短
    image

    find_one函数

    cursor = db.aiwen.find_one(query, sort=sort)
    发现查询结果一下得到提升,与robomongo相当
    cost:0.00399994850159
    好记性不如烂笔头
  • 相关阅读:
    CentOS安装gotop
    oracle 非sys用户创建新用户 授权后 plsql看不到视图
    解决Eclipse+ADT连接夜神模拟器失败问题
    Ext JS v2.3.0 Ext.grid.ColumnModel renderer Record 获取列值
    vi常用快捷键汇总
    外键的变种
    完整性约束
    数据类型2
    数据类型
    表的操作
  • 原文地址:https://www.cnblogs.com/inns/p/7246168.html
Copyright © 2020-2023  润新知