访问计划缓存快照

标识

SDB_SNAP_ACCESSPLANS

描述

访问计划缓存快照列出数据库中缓存的访问计划的信息。

字段信息

字段名类型描述
NodeName字符串该访问计划所在的节点名(主机名:服务名)
GroupName字符串该访问计划所在的数据组名
Collection字符串该访问计划所在的集合名
CollectionSpace字符串该访问计划所在的集合空间名
ScanType字符串该访问计划的扫描类型:
tbscan:表扫描
ixscan:索引扫描
IndexName字符串该访问计划使用的索引,表扫描时该项为空字符串
UseExtSort布尔型该访问计划是否需要对扫描结果进行排序
CacheLevel字符串该访问计划的缓存级别:
OPT_PLAN_NOCACHE:不进行缓存
OPT_PLAN_ORIGINAL:缓存原访问计划
OPT_PLAN_NORMALZIED:缓存泛化后的访问计划
OPT_PLAN_PARAMETERIZED:缓存参数化的访问计划
OPT_PLAN_FUZZYOPTR:缓存参数化并带操作符模糊匹配的访问计划
QueryBSON 对象该访问计划的匹配符
SortBSON 对象该访问计划的排序字段
HintBSON 对象该访问计划指定使用索引的提示
SortedIndexRequired布尔型该访问计划是否需要使用根据 Sort 排序的索引
HashCode整型该访问计划的 hash 值
Score浮点型该访问计划的评分
RefCount整型该访问计划正在被使用的查询个数
ParamPlanValid布尔型该访问计划是否参数化有效的访问计划
MainCLPlanValid布尔型该访问计划是否主表有效的访问计划
ValidParamsBSON 数组该访问计划已经生效的参数列表(ParamPlanValid 为 false 时显示)
ValidSubCLsBSON 数组该访问计划已经生效的参数列表(MainCLPlanValid 为 false 时显示)
AccessCount长整型该访问计划使用次数累计
TotalQueryTime浮点型该访问计划的累计执行时间(单位:秒)
AvgQueryTime浮点型该访问计划的平均执行时间(单位:秒)
MaxTimeSpentQueryBSON 对象该访问计划执行时间最慢的一次查询信息
MinTimeSpentQueryBSON 对象该访问计划执行时间最快的一次查询信息

ValidParams 数组的字段

字段名类型描述
ParametersBSON 数组该访问计划生效的参数
Score浮点数该访问计划生效的参数的评分

ValidSubCLs 数组的字段

字段名类型描述
Collection字符串该访问计划为主表访问计划时生效的子表名
ParametersBSON 数组该访问计划生效的参数
Score浮点数该访问计划生效的参数的评分

MaxTimeSpentQuery 和 MinTimeSpentQuery 对象的字段

字段名类型描述
ContextID长整型查询所在的上下文 ID
QueryType字符串查询的类型:
SELECT:数据查询
UPDATE:数据更新
DELETE:数据删除
QueryTimeSpent浮点型查询执行的时间(单位:秒)
ExecuteTimeSpent浮点型额外操作(UPDATE 或者 DELETE)执行的时间(单位:秒)
ParametersBSON 数组查询使用的参数
StartTimestamp字符串查询启动的时间戳
SelectorBSON 对象查询使用的选择符
Skip长整型查询需要跳过的记录个数
Return长整型查询需要最多返回的记录个数
Flag整型查询使用的标志位
DataRead长整型查询读取的记录个数
IndexRead长整型查询通过索引读取的记录个数
GetMores整型查询返回的结果集次数
ReturnNum长整型查询返回的记录个数
HitEnd布尔型查询是否返回所有需要的结果

Note:

  • 最慢和最快的查询 MaxTimeSpentQuery 和 MinTimeSpentQuery 只计算查询的 QueryTimeSpent,不计算查询的 ExecuteTimeSpent。

  • SdbQuery.explain() 的 Run 模式不计算在 QueryTimeSpent、MaxTimeSpentQuery 和 MinTimeSpentQuery 中。

示例

  1. > db.snapshot( SDB_SNAP_ACCESSPLANS )
  2. {
  3. "NodeName": "sdbserver1:11830",
  4. "GroupName": "group1",
  5. "Collection": "sample.main",
  6. "CollectionSpace": "sample",
  7. "ScanType": "tbscan",
  8. "IndexName": "",
  9. "UseExtSort": false,
  10. "CacheLevel": "OPT_PLAN_NORMALZIED",
  11. "Query": {},
  12. "Sort": {},
  13. "Hint": {},
  14. "SortedIndexRequired": false,
  15. "HashCode": 2022097019,
  16. "Score": 0,
  17. "RefCount": 1,
  18. "MainCLPlanValid": false,
  19. "ValidSubCLs": [
  20. {
  21. "Collection": "sample.employee",
  22. "Score": 1
  23. }
  24. ],
  25. "AccessCount": 2,
  26. "TotalQueryTime": 0,
  27. "AvgQueryTime": 0,
  28. "MaxTimeSpentQuery": {
  29. "ContextID": 280,
  30. "QueryType": "SELECT",
  31. "StartTimestamp": "2019-03-20-16.51.37.134790",
  32. "QueryTimeSpent": 0,
  33. "ExecuteTimeSpent": 0,
  34. "Selector": {},
  35. "Skip": 0,
  36. "Return": 30,
  37. "Flag": 2048,
  38. "DataRead": 0,
  39. "IndexRead": 0,
  40. "GetMores": 0,
  41. "ReturnNum": 0,
  42. "HitEnd": true
  43. },
  44. "MinTimeSpentQuery": {
  45. "ContextID": 280,
  46. "QueryType": "SELECT",
  47. "StartTimestamp": "2019-03-20-16.51.37.134790",
  48. "QueryTimeSpent": 0,
  49. "ExecuteTimeSpent": 0,
  50. "Selector": {},
  51. "Skip": 0,
  52. "Return": 30,
  53. "Flag": 2048,
  54. "DataRead": 0,
  55. "IndexRead": 0,
  56. "GetMores": 0,
  57. "ReturnNum": 0,
  58. "HitEnd": true
  59. }
  60. }
  61. ...