SequoiaDB巨杉数据库-数据节点上的详细访问计划

数据节点上的详细访问计划包括以下内容:

  • 数据节点上的访问计划信息
  • 访问计划的缓存使用情况
  • 涉及的垂直分区中主子表的访问计划信息

主表的详细访问计划

主表的详细访问计划结构如下:

{
  { 主表的访问计划信息 },
  "PlanPath": {
    "Operator": "MERGE",
    { 主表查询上下文的访问计划信息 },
    "ChildOperators": [
      {
        { 子表的访问计划信息 },
        ...
      },
      ...
    ]
  }
}

Copy

主表访问计划包括以下信息:

字段名类型描述
NodeName字符串访问计划所在的节点的名称
GroupName字符串访问计划所在的节点属于的复制组的名称
Role字符串访问计划所在的节点的角色,"data" 表示协调节点
Collection字符串访问计划访问的集合的名称
QueryBSON 对象访问计划解析后的用户查询条件
SortBSON 对象访问计划中的排序字段
SelectorBSON 对象访问计划执行的选择符
HintBSON 对象访问计划中指定查询使用索引的情况
Skip长整型访问计划需要跳过的记录个数
Return长整型访问计划最多返回的记录个数
Flag整型访问计划中指定的执行标志,默认值为 0
ReturnNum长整型访问计划返回记录的个数
ElapsedTime浮点型访问计划查询耗时(单位:秒)
IndexRead长整型访问计划扫描索引记录的个数
DataRead长整型访问计划扫描数据记录的个数
UserCPU浮点型访问计划用户态 CPU 使用时间(单位:秒)
SysCPU浮点型访问计划内核态 CPU 使用时间(单位:秒)
PlanPathBSON 对象访问计划的具体执行操作 MERGE

Note:

MERGE 中包含子表的访问计划,即数据节点上的普通集合的访问计划

示例:

{
  "NodeName": "hostname:11820",
  "GroupName": "group",
  "Role": "data",
  "Collection": "maincs.maincl",
  "Query": {},
  "Sort": {
    "a": 1
  },
  "Selector": {},
  "Hint": {},
  "Skip": 0,
  "Return": -1,
  "Flag": 2048,
  "ReturnNum": 50000,
  "ElapsedTime": 1.225226,
  "IndexRead": 0,
  "DataRead": 50000,
  "UserCPU": 0.5399999999999991,
  "SysCPU": 0.02000000000000002,
  "PlanPath": {
    "Operator": "MERGE",
    ...
  }
}

Copy

普通集合或子表的详细访问计划

普通集合或子表的详细访问计划结构如下:

{
  { 集合的访问计划信息 },
  "PlanPath": {
    { 查询上下文的访问计划信息 }
    ...
  }
}

Copy

该访问计划包括以下信息:

字段名类型描述
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:

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

示例:

{
  "NodeName": "hostname:11820",
  "GroupName": "group",
  "Role": "data",
  "Collection": "sample.employee",
  "Query": {
    "a": {
      "$gt": 100
    }
  },
  "Sort": {},
  "Selector": {},
  "Hint": {},
  "Skip": 0,
  "Return": -1,
  "Flag": 2048,
  "ReturnNum": 0,
  "ElapsedTime": 0.000093,
  "IndexRead": 0,
  "DataRead": 0,
  "UserCPU": 0,
  "SysCPU": 0,
  "CacheStatus": "HitCache",
  "MainCLPlan": false,
  "CacheLevel": "OPT_PLAN_PARAMETERIZED",
  "Parameters": [
    100
  ],
  "MatchConfig": {
    "EnableMixCmp": false,
    "Parameterized": true,
    "FuzzyOptr": false
  },
  "PlanPath": {
    ...
  }

更多信息请访问巨杉数据库官网

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值