explain()

    类别

    SdbQuery

    描述

    获取查询的访问计划。

    options 参数详细说明如下:

    普通的访问计划

    Detail 选项为 false 时,将会展示普通的访问计划。

    垂直分区中主表的访问计划信息:

    垂直分区中子表的访问计划信息:

    详细的访问计划

    Detail 选项为 true 时,将会展示详细的访问计划。在协调节点和数据节点上展示的详细访问计划略有不同。

    Search 选项为 true 时,将会展示查询优化器搜索过的访问计划,并查看查询优化器选择的结果。

    请参考:。

    返回值

    返回访问计划的游标,类型为 object 。

    错误

    如果出错则抛异常,并输出错误信息,可以通过getLastErrMsg()获取错误信息或通过获取错误码。关于错误处理可以参考常见错误处理指南

    • 普通表的访问计划
    • 垂直分区的访问计划
    1. {
    2. "NodeName": "hostname:11830",
    3. "GroupName": "group",
    4. "Role": "data",
    5. "Name": "maincs.maincl",
    6. "SubCollections": [
    7. {
    8. "Name": "subcs.subcl1",
    9. "ScanType": "tbscan",
    10. "IndexName": "",
    11. "UseExtSort": false,
    12. "Query": {
    13. "$and": []
    14. },
    15. "IXBound": null,
    16. "NeedMatch": false,
    17. "ReturnNum": 0,
    18. "ElapsedTime": 0.000088,
    19. "IndexRead": 0,
    20. "DataRead": 0,
    21. "UserCPU": 0,
    22. "SysCPU": 0
    23. },
    24. {
    25. "Name": "subcs.subcl2",
    26. "ScanType": "tbscan",
    27. "IndexName": "",
    28. "UseExtSort": false,
    29. "Query": {
    30. "$and": []
    31. },
    32. "IXBound": null,
    33. "NeedMatch": false,
    34. "ReturnNum": 0,
    35. "ElapsedTime": 0.000089,
    36. "IndexRead": 0,
    37. "DataRead": 0,
    38. "UserCPU": 0,
    39. "SysCPU": 0
    40. }
    41. ]
    42. }
    • 协调节点上的虚拟访问计划,即匹配符不能命中任何分区
    1. {
    2. "NodeName": "hostname:11810",
    3. "GroupName": "SYSCoord",
    4. "Role": "coord",
    5. "Collection": "maincs.maincl",
    6. "Query": {
    7. "a": 10000000
    8. },
    9. }
    • 查看查询的普通访问计划,并使用 Run 选项执行查询
    • 使用 Detail 选项查看查询的详细访问计划
    1. > db.foo.bar.find( { a : { $gt : 100 } } ).explain( { Detail : true } )
    2. {
    3. "NodeName": "hostname:11800",
    4. "GroupName": "SYSCoord",
    5. "Role": "coord",
    6. "Collection": "foo.bar",
    7. "Query": {
    8. "a": {
    9. "$gt": 100
    10. }
    11. },
    12. "Sort": {},
    13. "Selector": {},
    14. "Hint": {},
    15. "Skip": 0,
    16. "Return": -1,
    17. "Flag": 0,
    18. "ReturnNum": 0,
    19. "ElapsedTime": 0.00123,
    20. "IndexRead": 0,
    21. "DataRead": 0,
    22. "UserCPU": 0,
    23. "SysCPU": 0,
    24. "PlanPath": {
    25. "Operator": "COORD-MERGE",
    26. "Sort": {},
    27. "NeedReorder": false,
    28. "DataNodeNum": 2,
    29. "DataNodeList": [
    30. {
    31. "Name": "hostname:11810",
    32. "EstTotalCost": 1.484
    33. },
    34. {
    35. "Name": "hostname:11820",
    36. "EstTotalCost": 0.7418349999999999
    37. }
    38. ],
    39. "Selector": {},
    40. "Skip": 0,
    41. "Return": -1,
    42. "Estimate": {
    43. "StartCost": 0,
    44. "RunCost": 1.5214865,
    45. "TotalCost": 1.5214865,
    46. "Output": {
    47. "Records": 74973,
    48. "RecordSize": 29,
    49. "Sorted": false
    50. }
    51. },
    52. "ChildOperators": [
    53. {
    54. "NodeName": "hostname:11810",
    55. "GroupName": "group1",
    56. "Role": "data",
    57. "Collection": "foo.bar",
    58. "Query": {
    59. "a": {
    60. "$gt": 100
    61. }
    62. },
    63. "Sort": {},
    64. "Selector": {},
    65. "Hint": {},
    66. "Skip": 0,
    67. "Return": -1,
    68. "Flag": 2048,
    69. "ReturnNum": 0,
    70. "ElapsedTime": 0.000078,
    71. "IndexRead": 0,
    72. "DataRead": 0,
    73. "UserCPU": 0,
    74. "SysCPU": 0,
    75. "CacheStatus": "HitCache",
    76. "MainCLPlan": false,
    77. "CacheLevel": "OPT_PLAN_PARAMETERIZED",
    78. "Parameters": [
    79. 100
    80. ],
    81. "MatchConfig": {
    82. "EnableMixCmp": false,
    83. "Parameterized": true,
    84. "FuzzyOptr": false
    85. }
    86. },
    87. {
    88. "NodeName": "hostname:11820",
    89. "GroupName": "group2",
    90. "Role": "data",
    91. "Collection": "foo.bar",
    92. "Query": {
    93. "a": {
    94. "$gt": 100
    95. }
    96. },
    97. "Sort": {},
    98. "Selector": {},
    99. "Hint": {},
    100. "Skip": 0,
    101. "Return": -1,
    102. "Flag": 2048,
    103. "ReturnNum": 0,
    104. "ElapsedTime": 0.000081,
    105. "IndexRead": 0,
    106. "DataRead": 0,
    107. "UserCPU": 0,
    108. "SysCPU": 0,
    109. "CacheStatus": "HitCache",
    110. "MainCLPlan": false,
    111. "CacheLevel": "OPT_PLAN_PARAMETERIZED",
    112. "Parameters": [
    113. 100
    114. ],
    115. "MatchConfig": {
    116. "EnableMixCmp": false,
    117. "Parameterized": true,
    118. "FuzzyOptr": false
    119. }
    120. }
    121. ]
    122. }
    123. }
    • 使用 Detail 选项查看查询的详细访问计划,并使用 Run 选项执行查询
    1. > db.foo.bar.find( { a : { $gt : 100 } } ).explain( { Detail : true, Run : true } )
    2. {
    3. "NodeName": "hostname:11800",
    4. "GroupName": "SYSCoord",
    5. "Role": "coord",
    6. "Collection": "foo.bar",
    7. "Query": {
    8. "a": {
    9. "$gt": 100
    10. }
    11. },
    12. "Sort": {},
    13. "Selector": {},
    14. "Hint": {},
    15. "Skip": 0,
    16. "Return": -1,
    17. "Flag": 0,
    18. "ReturnNum": 99899,
    19. "ElapsedTime": 0.82863,
    20. "IndexRead": 0,
    21. "DataRead": 0,
    22. "UserCPU": 0.01999999999999999,
    23. "SysCPU": 0.009999999999999995,
    24. "PlanPath": {
    25. "Operator": "COORD-MERGE",
    26. "Sort": {},
    27. "NeedReorder": false,
    28. "DataNodeNum": 2,
    29. "DataNodeList": [
    30. {
    31. "Name": "hostname:11820",
    32. "EstTotalCost": 0.7418349999999999,
    33. "QueryTimeSpent": 0.733299,
    34. "WaitTimeSpent": 0.013556
    35. },
    36. {
    37. "Name": "hostname:11810",
    38. "EstTotalCost": 1.484,
    39. "QueryTimeSpent": 0.82677,
    40. "WaitTimeSpent": 0.084652
    41. }
    42. ],
    43. "Selector": {},
    44. "Skip": 0,
    45. "Return": -1,
    46. "Estimate": {
    47. "StartCost": 0,
    48. "RunCost": 1.5214865,
    49. "TotalCost": 1.5214865,
    50. "Output": {
    51. "Records": 74973,
    52. "RecordSize": 29,
    53. "Sorted": false
    54. }
    55. },
    56. "Run": {
    57. "ContextID": 29314,
    58. "StartTimestamp": "2017-12-14-15.24.51.254623",
    59. "QueryTimeSpent": 0.821182,
    60. "GetMores": 112,
    61. "ReturnNum": 99899,
    62. "WaitTimeSpent": 0.075
    63. },
    64. "ChildOperators": [
    65. {
    66. "NodeName": "hostname:11820",
    67. "GroupName": "group2",
    68. "Role": "data",
    69. "Collection": "foo.bar",
    70. "Query": {
    71. "a": {
    72. "$gt": 100
    73. }
    74. },
    75. "Sort": {},
    76. "Selector": {},
    77. "Hint": {},
    78. "Skip": 0,
    79. "Return": -1,
    80. "Flag": 2048,
    81. "ReturnNum": 49892,
    82. "ElapsedTime": 0.733493,
    83. "IndexRead": 0,
    84. "DataRead": 49945,
    85. "UserCPU": 0.14,
    86. "SysCPU": 0.01000000000000001,
    87. "CacheStatus": "HitCache",
    88. "MainCLPlan": false,
    89. "CacheLevel": "OPT_PLAN_PARAMETERIZED",
    90. 100
    91. ],
    92. "MatchConfig": {
    93. "EnableMixCmp": false,
    94. "Parameterized": true,
    95. "FuzzyOptr": false
    96. }
    97. },
    98. {
    99. "NodeName": "hostname:11810",
    100. "GroupName": "group1",
    101. "Role": "data",
    102. "Collection": "foo.bar",
    103. "Query": {
    104. "a": {
    105. "$gt": 100
    106. }
    107. },
    108. "Sort": {},
    109. "Selector": {},
    110. "Hint": {},
    111. "Skip": 0,
    112. "Return": -1,
    113. "Flag": 2048,
    114. "ReturnNum": 50007,
    115. "ElapsedTime": 0.82666,
    116. "IndexRead": 0,
    117. "DataRead": 50055,
    118. "UserCPU": 0.1499999999999986,
    119. "SysCPU": 0.01000000000000023,
    120. "CacheStatus": "HitCache",
    121. "MainCLPlan": false,
    122. "CacheLevel": "OPT_PLAN_PARAMETERIZED",
    123. "Parameters": [
    124. 100
    125. ],
    126. "MatchConfig": {
    127. "EnableMixCmp": false,
    128. "Parameterized": true,
    129. "FuzzyOptr": false
    130. }
    131. }
    132. ]
    133. }
    134. }
    • 使用 Detail 选项查看查询的详细访问计划,并且使用 Search 选项查看查询优化器的搜索过程
    • 使用 Detail 选项查看查询的详细访问计划,并且使用 Location 选项查看查询在 group1 上的访问计划
    1. > db.foo.bar.find( { a : { $gt : 100 } } ).explain( { Detail : true, Location : { GroupName : 'group1' } } )
    2. {
    3. "NodeName": "hostname:11800",
    4. "GroupName": "SYSCoord",
    5. "Role": "coord",
    6. "Collection": "foo.bar",
    7. "Query": {
    8. "a": {
    9. "$gt": 100
    10. }
    11. },
    12. "Sort": {},
    13. "Selector": {},
    14. "Hint": {},
    15. "Skip": 0,
    16. "Return": -1,
    17. "Flag": 0,
    18. "ReturnNum": 0,
    19. "ElapsedTime": 0.011374,
    20. "IndexRead": 0,
    21. "DataRead": 0,
    22. "UserCPU": 0,
    23. "SysCPU": 0,
    24. "PlanPath": {
    25. "Operator": "COORD-MERGE",
    26. "Sort": {},
    27. "NeedReorder": false,
    28. "DataNodeNum": 2,
    29. "DataNodeList": [
    30. {
    31. "Name": "hostname:11810",
    32. "EstTotalCost": 1.484
    33. },
    34. {
    35. "Name": "hostname:11820",
    36. "EstTotalCost": 0.7418349999999999
    37. }
    38. ],
    39. "Selector": {},
    40. "Skip": 0,
    41. "Return": -1,
    42. "Estimate": {
    43. "StartCost": 0,
    44. "RunCost": 1.5214865,
    45. "TotalCost": 1.5214865,
    46. "Output": {
    47. "Records": 74973,
    48. "RecordSize": 29,
    49. "Sorted": false
    50. }
    51. },
    52. "ChildOperators": [
    53. {
    54. "NodeName": "hostname:11810",
    55. "GroupName": "group1",
    56. "Role": "data",
    57. "Collection": "foo.bar",
    58. "Query": {
    59. "a": {
    60. "$gt": 100
    61. }
    62. },
    63. "Sort": {},
    64. "Selector": {},
    65. "Hint": {},
    66. "Skip": 0,
    67. "Return": -1,
    68. "Flag": 2048,
    69. "ReturnNum": 0,
    70. "ElapsedTime": 0.000088,
    71. "IndexRead": 0,
    72. "DataRead": 0,
    73. "UserCPU": 0,
    74. "SysCPU": 0,
    75. "CacheStatus": "HitCache",
    76. "MainCLPlan": false,
    77. "CacheLevel": "OPT_PLAN_PARAMETERIZED",
    78. "Parameters": [
    79. 100
    80. ],
    81. "MatchConfig": {
    82. "EnableMixCmp": false,
    83. "Parameterized": true,
    84. "FuzzyOptr": false
    85. }
    86. }
    87. ]
    88. }
    89. }
    • 使用 Detail 选项查看垂直分区的详细访问计划,并使用 Expand 选项展开所有细节
    1. > db.maincs.maincl.find( { a : { $gt : 100 } } ).explain( { Detail : true, Expand : true } )
    2. {
    3. "NodeName": "hostname:11800",
    4. "GroupName": "SYSCoord",
    5. "Role": "coord",
    6. "Collection": "maincs.maincl",
    7. "Query": {
    8. "a": {
    9. "$gt": 100
    10. }
    11. },
    12. "Sort": {},
    13. "Selector": {},
    14. "Hint": {},
    15. "Skip": 0,
    16. "Return": -1,
    17. "Flag": 0,
    18. "ReturnNum": 0,
    19. "ElapsedTime": 0.002748,
    20. "IndexRead": 0,
    21. "DataRead": 0,
    22. "UserCPU": 0,
    23. "SysCPU": 0,
    24. "PlanPath": {
    25. "Operator": "COORD-MERGE",
    26. "Sort": {},
    27. "NeedReorder": false,
    28. "DataNodeNum": 2,
    29. "DataNodeList": [
    30. {
    31. "Name": "hostname:11810",
    32. "EstTotalCost": 0.9624999999999999
    33. },
    34. {
    35. "Name": "hostname:11820",
    36. "EstTotalCost": 0.9624999999999999
    37. }
    38. ],
    39. "Selector": {},
    40. "Skip": 0,
    41. "Return": -1,
    42. "Estimate": {
    43. "StartCost": 0,
    44. "RunCost": 0.9874999999999999,
    45. "TotalCost": 0.9874999999999999,
    46. "Output": {
    47. "Records": 50000,
    48. "RecordSize": 43,
    49. "Sorted": false
    50. }
    51. },
    52. "ChildOperators": [
    53. {
    54. "NodeName": "hostname:11810",
    55. "GroupName": "group1",
    56. "Role": "data",
    57. "Collection": "maincs.maincl",
    58. "Query": {
    59. "a": {
    60. "$gt": 100
    61. }
    62. },
    63. "Sort": {},
    64. "Selector": {},
    65. "Hint": {},
    66. "Skip": 0,
    67. "Return": -1,
    68. "Flag": 2048,
    69. "ReturnNum": 0,
    70. "ElapsedTime": 0.00062,
    71. "IndexRead": 0,
    72. "DataRead": 0,
    73. "UserCPU": 0,
    74. "SysCPU": 0,
    75. "PlanPath": {
    76. "Operator": "MERGE",
    77. "Sort": {},
    78. "NeedReorder": false,
    79. "SubCollectionNum": 2,
    80. "SubCollectionList": [
    81. {
    82. "Name": "subcs.subcl2",
    83. "EstTotalCost": 0.475
    84. },
    85. {
    86. "Name": "subcs.subcl1",
    87. "EstTotalCost": 0.475
    88. }
    89. ],
    90. "Selector": {},
    91. "Skip": 0,
    92. "Return": -1,
    93. "Estimate": {
    94. "StartCost": 0,
    95. "RunCost": 0.9624999999999999,
    96. "TotalCost": 0.9624999999999999,
    97. "Output": {
    98. "Records": 25000,
    99. "RecordSize": 43,
    100. "Sorted": false
    101. }
    102. },
    103. "SubCollections": [
    104. {
    105. "Collection": "subcs.subcl2",
    106. "Query": {
    107. "a": {
    108. "$gt": 100
    109. }
    110. },
    111. "Sort": {},
    112. "Selector": {},
    113. "Hint": {},
    114. "Skip": 0,
    115. "Return": -1,
    116. "Flag": 2048,
    117. "ReturnNum": 0,
    118. "ElapsedTime": 0.000042,
    119. "IndexRead": 0,
    120. "DataRead": 0,
    121. "UserCPU": 0,
    122. "SysCPU": 0,
    123. "CacheStatus": "HitCache",
    124. "MainCLPlan": true,
    125. "CacheLevel": "OPT_PLAN_PARAMETERIZED",
    126. "Parameters": [
    127. 100
    128. ],
    129. "MatchConfig": {
    130. "EnableMixCmp": false,
    131. "Parameterized": true,
    132. "FuzzyOptr": false
    133. },
    134. "PlanPath": {
    135. "Operator": "TBSCAN",
    136. "Collection": "subcs.subcl2",
    137. "Query": {
    138. "$and": [
    139. {
    140. "a": {
    141. "$gt": 100
    142. }
    143. }
    144. ]
    145. "Selector": {},
    146. "Skip": 0,
    147. "Return": -1,
    148. "Estimate": {
    149. "StartCost": 0,
    150. "RunCost": 0.475,
    151. "TotalCost": 0.475,
    152. "CLEstFromStat": false,
    153. "Input": {
    154. "Pages": 25,
    155. "Records": 25000,
    156. "RecordSize": 43
    157. },
    158. "Filter": {
    159. "MthSelectivity": 0.4999994999999995
    160. },
    161. "Output": {
    162. "Records": 12500,
    163. "RecordSize": 43,
    164. "Sorted": false
    165. }
    166. }
    167. }
    168. },
    169. {
    170. "Collection": "subcs.subcl1",
    171. "Query": {
    172. "a": {
    173. "$gt": 100
    174. }
    175. },
    176. "Sort": {},
    177. "Selector": {},
    178. "Hint": {},
    179. "Skip": 0,
    180. "Return": -1,
    181. "Flag": 2048,
    182. "ReturnNum": 0,
    183. "ElapsedTime": 0.000049,
    184. "IndexRead": 0,
    185. "DataRead": 0,
    186. "UserCPU": 0,
    187. "SysCPU": 0,
    188. "CacheStatus": "HitCache",
    189. "MainCLPlan": true,
    190. "CacheLevel": "OPT_PLAN_PARAMETERIZED",
    191. "Parameters": [
    192. 100
    193. ],
    194. "MatchConfig": {
    195. "EnableMixCmp": false,
    196. "Parameterized": true,
    197. "FuzzyOptr": false
    198. },
    199. "PlanPath": {
    200. "Operator": "TBSCAN",
    201. "Collection": "subcs.subcl1",
    202. "Query": {
    203. "$and": [
    204. {
    205. "a": {
    206. "$gt": 100
    207. }
    208. }
    209. ]
    210. },
    211. "Selector": {},
    212. "Skip": 0,
    213. "Return": -1,
    214. "Estimate": {
    215. "StartCost": 0,
    216. "RunCost": 0.475,
    217. "TotalCost": 0.475,
    218. "CLEstFromStat": false,
    219. "Input": {
    220. "Pages": 25,
    221. "Records": 25000,
    222. "RecordSize": 43
    223. },
    224. "Filter": {
    225. "MthSelectivity": 0.4999994999999995
    226. },
    227. "Output": {
    228. "Records": 12500,
    229. "RecordSize": 43,
    230. "Sorted": false
    231. }
    232. }
    233. }
    234. }
    235. ]
    236. }
    237. },
    238. {
    239. "NodeName": "hostname:11820",
    240. "GroupName": "group2",
    241. "Role": "data",
    242. "Collection": "maincs.maincl",
    243. "Query": {
    244. "a": {
    245. "$gt": 100
    246. }
    247. },
    248. "Sort": {},
    249. "Selector": {},
    250. "Hint": {},
    251. "Skip": 0,
    252. "Return": -1,
    253. "Flag": 2048,
    254. "ReturnNum": 0,
    255. "ElapsedTime": 0.00067,
    256. "IndexRead": 0,
    257. "DataRead": 0,
    258. "UserCPU": 0,
    259. "SysCPU": 0,
    260. "PlanPath": {
    261. "Operator": "MERGE",
    262. "Sort": {},
    263. "NeedReorder": false,
    264. "SubCollectionNum": 2,
    265. "SubCollectionList": [
    266. {
    267. "Name": "subcs.subcl2",
    268. "EstTotalCost": 0.475
    269. },
    270. {
    271. "Name": "subcs.subcl1",
    272. "EstTotalCost": 0.475
    273. }
    274. ],
    275. "Selector": {},
    276. "Skip": 0,
    277. "Return": -1,
    278. "Estimate": {
    279. "StartCost": 0,
    280. "RunCost": 0.9624999999999999,
    281. "TotalCost": 0.9624999999999999,
    282. "Output": {
    283. "Records": 25000,
    284. "RecordSize": 43,
    285. "Sorted": false
    286. }
    287. },
    288. "SubCollections": [
    289. {
    290. "Collection": "subcs.subcl2",
    291. "Query": {
    292. "a": {
    293. "$gt": 100
    294. }
    295. },
    296. "Sort": {},
    297. "Selector": {},
    298. "Hint": {},
    299. "Skip": 0,
    300. "Return": -1,
    301. "Flag": 2048,
    302. "ReturnNum": 0,
    303. "ElapsedTime": 0.000034,
    304. "IndexRead": 0,
    305. "DataRead": 0,
    306. "UserCPU": 0,
    307. "SysCPU": 0,
    308. "CacheStatus": "HitCache",
    309. "MainCLPlan": true,
    310. "CacheLevel": "OPT_PLAN_PARAMETERIZED",
    311. "Parameters": [
    312. 100
    313. ],
    314. "MatchConfig": {
    315. "EnableMixCmp": false,
    316. "Parameterized": true,
    317. "FuzzyOptr": false
    318. },
    319. "PlanPath": {
    320. "Operator": "TBSCAN",
    321. "Collection": "subcs.subcl2",
    322. "Query": {
    323. "$and": [
    324. {
    325. "a": {
    326. "$gt": 100
    327. }
    328. }
    329. ]
    330. },
    331. "Selector": {},
    332. "Skip": 0,
    333. "Return": -1,
    334. "Estimate": {
    335. "StartCost": 0,
    336. "RunCost": 0.475,
    337. "TotalCost": 0.475,
    338. "CLEstFromStat": false,
    339. "Input": {
    340. "Pages": 25,
    341. "Records": 25000,
    342. "RecordSize": 43
    343. },
    344. "Filter": {
    345. "MthSelectivity": 0.4999994999999995
    346. },
    347. "Output": {
    348. "Records": 12500,
    349. "RecordSize": 43,
    350. "Sorted": false
    351. }
    352. }
    353. }
    354. },
    355. {
    356. "Collection": "subcs.subcl1",
    357. "Query": {
    358. "a": {
    359. "$gt": 100
    360. }
    361. },
    362. "Sort": {},
    363. "Selector": {},
    364. "Hint": {},
    365. "Skip": 0,
    366. "Return": -1,
    367. "Flag": 2048,
    368. "ReturnNum": 0,
    369. "ElapsedTime": 0.000048,
    370. "IndexRead": 0,
    371. "DataRead": 0,
    372. "UserCPU": 0,
    373. "SysCPU": 0,
    374. "CacheStatus": "HitCache",
    375. "MainCLPlan": true,
    376. "CacheLevel": "OPT_PLAN_PARAMETERIZED",
    377. "Parameters": [
    378. 100
    379. ],
    380. "MatchConfig": {
    381. "EnableMixCmp": false,
    382. "Parameterized": true,
    383. "FuzzyOptr": false
    384. },
    385. "PlanPath": {
    386. "Operator": "TBSCAN",
    387. "Collection": "subcs.subcl1",
    388. "Query": {
    389. "$and": [
    390. {
    391. "a": {
    392. "$gt": 100
    393. }
    394. }
    395. ]
    396. },
    397. "Selector": {},
    398. "Skip": 0,
    399. "Return": -1,
    400. "Estimate": {
    401. "StartCost": 0,
    402. "RunCost": 0.475,
    403. "TotalCost": 0.475,
    404. "CLEstFromStat": false,
    405. "Input": {
    406. "Pages": 25,
    407. "Records": 25000,
    408. "RecordSize": 43
    409. },
    410. "Filter": {
    411. "MthSelectivity": 0.4999994999999995
    412. },
    413. "Output": {
    414. "Records": 12500,
    415. "RecordSize": 43,
    416. "Sorted": false
    417. }
    418. }
    419. }
    420. }
    421. ]
    422. }
    423. }
    424. ]
    425. }