• 访问计划缓存快照
    • 描述
    • 标示
      • 字段信息
      • MaxTimeSpentQuery 和 MinTimeSpentQuery 对象的信息
    • 示例

    访问计划缓存快照

    描述

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

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

    标示

    SDB_SNAP_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.snapshot( SDB_SNAP_ACCESSPLANS )
    2. {
    3. "NodeName": "hostname:11820",
    4. "GroupName": "group1",
    5. "AccessPlanID": 14,
    6. "Collection": "foo.bar",
    7. "CollectionSpace": "foo",
    8. "ScanType": "tbscan",
    9. "IndexName": "",
    10. "UseExtSort": false,
    11. "CacheLevel": "OPT_PLAN_PARAMETERIZED",
    12. "Query": {
    13. "$and": [
    14. {
    15. "a": {
    16. "$et": {
    17. "$param": 0,
    18. "$ctype": 10
    19. }
    20. }
    21. }
    22. ]
    23. },
    24. "Sort": {},
    25. "Hint": {},
    26. "SortedIndexRequired": false,
    27. "EstFromStat": false,
    28. "HashCode": -1411136567,
    29. "Score": 0,
    30. "RefCount": 0,
    31. "ParamPlanValid": true,
    32. "AccessCount": 5,
    33. "TotalQueryTime": 0.254869,
    34. "AvgQueryTime": 0.0509738,
    35. "MaxTimeSpentQuery": {
    36. "ContextID": 155,
    37. "QueryType": "SELECT",
    38. "Parameters": [
    39. 4
    40. ],
    41. "StartTimestamp": "2017-12-09-14.03.57.909232",
    42. "QueryTimeSpent": 0.060943,
    43. "ExecuteTimeSpent": 0,
    44. "Selector": {},
    45. "Skip": 0,
    46. "Return": -1,
    47. "Flag": 2048,
    48. "DataRead": 25000,
    49. "IndexRead": 0,
    50. "GetMores": 1,
    51. "ReturnNum": 0,
    52. "HitEnd": true
    53. },
    54. "MinTimeSpentQuery": {
    55. "ContextID": 157,
    56. "QueryType": "SELECT",
    57. "Parameters": [
    58. 2
    59. ],
    60. "StartTimestamp": "2017-12-09-14.03.59.073811",
    61. "QueryTimeSpent": 0.040419,
    62. "ExecuteTimeSpent": 0,
    63. "Selector": {},
    64. "Skip": 0,
    65. "Return": -1,
    66. "Flag": 2048,
    67. "DataRead": 25000,
    68. "IndexRead": 0,
    69. "GetMores": 1,
    70. "ReturnNum": 0,
    71. "HitEnd": true
    72. }
    73. }