• TBSCAN的推演公式

    TBSCAN的推演公式

    TBSCAN 的推演公式将展示以下信息:

    字段名类型描述
    MthSelectivity浮点型估算的 TBSCAN 使用匹配符进行过滤的选择率
    MthCPUCost整型估算的 TBSCAN 使用匹配符过滤一个记录的 CPU 代价
    IOCost数组估算的 TBSCAN 的 IO 代价的公式及计算过程NeedEvalIO 为 false 不需要计算即各个数据页进行顺序扫描的代价总和公式为:SeqReadIOCostUnit Pages ( PageSize / PageUnit )
    CPUCost数组估算的 TBSCAN 的 CPU 代价的公式及计算过程即各个记录从数据页中提取并进行匹配符过滤的代价总和公式为:Records ( RecExtractCPUCost + MthCPUCost )
    StartCost数组估算的 TBSCAN 的启动代价(内部表示)公式为:TBScanStartCost
    RunCost数组估算的 TBSCAN 的运行代价(内部表示)公式为:IOCPURate IOCost + CPUCost
    TotalCost数组估算的 TBSCAN 的总代价(内部表示)公式为:StartCost + RunCost
    OutputRecords数组估算的 TBSCAN 的输出记录个数公式为:max( 1, ceil( Records * MthSelectivity ) )

    示例

    1. "ScanNode": {
    2. "MthSelectivity": 1,
    3. "MthCPUCost": 0,
    4. "IOCost": [
    5. "SeqReadIOCostUnit * Pages * ( PageSize / PageUnit )",
    6. "1 * 74 * ( 65536 / 4096 ) ",
    7. 1184
    8. ],
    9. "CPUCost": [
    10. "Records * ( RecExtractCPUCost + MthCPUCost )",
    11. "100000 * ( 4 + 0 ) ",
    12. 400000
    13. ],
    14. "StartCost": [
    15. "TBScanStartCost",
    16. "0",
    17. 0
    18. ],
    19. "RunCost": [
    20. "IOCPURate * IOCost + CPUCost",
    21. "2000 * 1184 + 400000",
    22. 2768000
    23. ],
    24. "TotalCost": [
    25. "StartCost + RunCost",
    26. "0 + 2768000",
    27. 2768000
    28. ],
    29. "OutputRecords": [
    30. "max( 1, ceil( Records * MthSelectivity ) )",
    31. "max( 1, ceil( 100000 * 1 ) )",
    32. 100000
    33. ]
    34. }