• 数据节点的访问计划

    数据节点的访问计划

    数据节点上的访问计划(包括垂直分区中的子表)包括以下信息:

    字段名类型描述
    NodeName字符串访问计划所在的节点的名称
    GroupName字符串访问计划所在的节点属于的复制组的名称
    Role字符串访问计划所在的节点的角色"data" 表示数据节点
    Collection字符串访问计划访问的集合的名称
    QueryBSON 对象访问计划解析后的用户查询条件
    SortBSON 对象访问计划中的排序字段
    SelectorBSON 对象访问计划执行的选择符
    HintBSON 对象访问计划中指定查询使用索引的情况
    Skip长整型访问计划需要跳过的记录个数
    Return长整型访问计划最多返回的记录个数
    Flag整型访问计划中指定的执行标志,默认值为 0
    ReturnNum长整型访问计划返回记录的个数
    ElapsedTime浮点型访问计划查询耗时(单位:秒)
    IndexRead长整型访问计划扫描索引记录的个数
    DataRead长整型访问计划扫描数据记录的个数
    UserCPU浮点型访问计划用户态 CPU 使用时间(单位:秒)
    SysCPU浮点型访问计划内核态 CPU 使用时间(单位:秒)
    CacheStatus字符串访问计划的缓存状态:1. "NoCache" 为没有加入缓存2. "NewCache" 为新建的缓存3. "HitCache" 为命中的缓存
    MainCLPlan布尔型访问计划是否主表共享的查询计划
    CacheLevel字符串访问计划的缓存级别:1. "OPT_PLAN_NOCACHE" 为不进行缓存2. "OPT_PLAN_ORIGINAL" 为缓存原查询计划3. "OPT_PLAN_NORMALZIED" 为缓存泛化后的查询计划4. "OPT_PLAN_PARAMETERIZED" 为缓存参数化的查询计划"OPT_PLAN_FUZZYOPTR" 为缓存参数化并带操作符模糊匹配的查询计划
    Parameters数组类型参数化的访问计划使用的参数列表
    MatchConfigBSON 对象访问计划中的匹配符的配置
    MatchConfig.EnableMixCmp布尔型访问计划的匹配符是否使用混合匹配模式
    MatchConfig.Parameterized布尔型访问计划的匹配符是否支持参数化
    MatchConfig.FuzzyOptr布尔型访问计划的匹配符是否支持模糊匹配
    PlanPathBSON 对象访问计划的具体执行操作 SORT、TBSCAN 或 IXSCAN
    SearchBSON 对象查询计划优化器搜索过的访问计划Search 选项为 true 时显示请参考 基于代价的访问计划评估

    Note: 数据节点上的主表的访问计划请参考 主表的访问计划

    示例

    1. {
    2. "NodeName": "hostname:11820",
    3. "GroupName": "group",
    4. "Role": "data",
    5. "Collection": "foo.bar",
    6. "Query": {
    7. "a": {
    8. "$gt": 100
    9. }
    10. },
    11. "Sort": {},
    12. "Selector": {},
    13. "Hint": {},
    14. "Skip": 0,
    15. "Return": -1,
    16. "Flag": 2048,
    17. "ReturnNum": 0,
    18. "ElapsedTime": 0.000093,
    19. "IndexRead": 0,
    20. "DataRead": 0,
    21. "UserCPU": 0,
    22. "SysCPU": 0,
    23. "CacheStatus": "HitCache",
    24. "MainCLPlan": false,
    25. "CacheLevel": "OPT_PLAN_PARAMETERIZED",
    26. "Parameters": [
    27. 100
    28. ],
    29. "MatchConfig": {
    30. "EnableMixCmp": false,
    31. "Parameterized": true,
    32. "FuzzyOptr": false
    33. },
    34. "PlanPath": {
    35. ...
    36. }