$SNAPSHOT_ACCESSPLANS

描述

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

每一个数据节点上每个缓存的访问计划为一条记录。

标示

$SNAPSHOT_ACCESSPLANS

字段信息

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

MaxTimeSpentQuery 和 MinTimeSpentQuery 对象的信息

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

Note:

  • 最慢和最快的查询 MaxTimeSpentQuery 和 MinTimeSpentQuery 只计算查询的 QueryTimeSpent,不计算查询的 ExecuteTimeSpent。
  • SdbQuery.explain() 的 Run 模式不计算在 QueryTimeSpent 、MaxTimeSpentQuery 和 MinTimeSpentQuery 中。

示例

  1. > db.exec( "select * from $SNAPSHOT_ACCESSPLANS" )
  2. {
  3. "NodeName": "hostname:30000",
  4. "GroupName": "SYSCatalogGroup",
  5. "AccessPlanID": 14,
  6. "Collection": "SYSCAT.SYSTASKS",
  7. "CollectionSpace": "SYSCAT",
  8. "ScanType": "tbscan",
  9. "IndexName": "",
  10. "UseExtSort": false,
  11. "CacheLevel": "OPT_PLAN_ORIGINAL",
  12. "Query": {
  13. "TaskType": 0,
  14. "Name": "local_test_cs.local_test_sub2",
  15. "Target": "db1",
  16. "Source": "db2",
  17. "SplitValue": {
  18. "b": 8000
  19. }
  20. },
  21. "Sort": {},
  22. "Hint": {},
  23. "SortedIndexRequired": false,
  24. "EstFromStat": false,
  25. "HashCode": 377049080,
  26. "Score": 3.125000000000001e-12,
  27. "RefCount": 1,
  28. "AccessCount": 1,
  29. "TotalQueryTime": 0,
  30. "AvgQueryTime": 0,
  31. "MaxTimeSpentQuery": {
  32. "ContextID": 76605,
  33. "QueryType": "SELECT",
  34. "StartTimestamp": "2019-05-31-10.28.45.584948",
  35. "QueryTimeSpent": 0,
  36. "ExecuteTimeSpent": 0,
  37. "Selector": {},
  38. "Skip": 0,
  39. "Return": -1,
  40. "Flag": 0,
  41. "DataRead": 1,
  42. "IndexRead": 0,
  43. "GetMores": 1,
  44. "ReturnNum": 1,
  45. "HitEnd": true
  46. },
  47. "MinTimeSpentQuery": {
  48. "ContextID": 76605,
  49. "QueryType": "SELECT",
  50. "StartTimestamp": "2019-05-31-10.28.45.584948",
  51. "QueryTimeSpent": 0,
  52. "ExecuteTimeSpent": 0,
  53. "Selector": {},
  54. "Skip": 0,
  55. "Return": -1,
  56. "Flag": 0,
  57. "DataRead": 1,
  58. "IndexRead": 0,
  59. "GetMores": 1,
  60. "ReturnNum": 1,
  61. "HitEnd": true
  62. }
  63. }
  64. ...