{
    "success": true,
    "params": {
        "mc": null,
        "startDate": null,
        "endDate": null,
        "maxMcForPrevLoop": 9999
    },
    "overview": {
        "totalMs": 533.792,
        "dailyRows": 25611,
        "mcSellRows": 1472,
        "splitRows": 79,
        "contraToRows": 15,
        "contraFromRows": 111
    },
    "steps": [
        {
            "label": "load_mc_map",
            "ms": 0.853,
            "rows": 99
        },
        {
            "label": "dailydata_main_query_fetch_all",
            "ms": 513.14,
            "ok": true,
            "rows": 25611
        },
        {
            "label": "mc_sell_query_fetch_all",
            "ms": 8.687,
            "ok": true,
            "rows": 1472
        },
        {
            "label": "split_monthly_query_fetch_all",
            "ms": 1.621,
            "ok": true,
            "rows": 79
        },
        {
            "label": "contra_table_check",
            "ms": 3.087,
            "hasContra": true,
            "hasContraCols": true
        },
        {
            "label": "contra_to_mc_query_fetch_all",
            "ms": 0.433,
            "ok": true,
            "rows": 15
        },
        {
            "label": "contra_from_mc_query_fetch_all",
            "ms": 0.476,
            "ok": true,
            "rows": 111
        },
        {
            "label": "all_mc_list_query",
            "ms": 0.642,
            "ok": true,
            "rows": 85
        },
        {
            "label": "start_balance_base_query",
            "ms": 0.329,
            "ok": true,
            "rows": 99
        }
    ],
    "prevBalanceLoop": {
        "mcCount": 0,
        "maxMcForPrevLoop": 9999,
        "totalMs": 0.001,
        "subMs": {
            "dailyDataPrev": 0,
            "mcSellPrev": 0,
            "splitPrev": 0,
            "contraToPrev": 0,
            "contraFromPrev": 0
        },
        "topSlowMC": []
    },
    "hint": [
        "如果 prevBalanceLoop.totalMs 很高，说明瓶颈在“查询开始日前累计余额”逻辑。",
        "可先把 maxMcForPrevLoop 调小（例如 20）做快速比对，再用全量确认。"
    ]
}