数据节点的访问计划

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

字段名类型描述
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 对象访问计划的具体执行操作 SORTTBSCANIXSCAN
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. }