当前位置:首页>python>杜邦分析实战:用Python拆解企业盈利能力的驱动密码

杜邦分析实战:用Python拆解企业盈利能力的驱动密码

  • 2026-08-21 06:47:36
杜邦分析实战:用Python拆解企业盈利能力的驱动密码

杜邦分析实战:用Python拆解企业盈利能力的驱动密码

系列:财务BP实战课 · EP12
难度:中级→进阶
预计阅读:10 分钟
配套代码:杜邦分析 + CVP模型 + 方差分析,均可直接运行

引子:利润下降了,然后呢?

"今年利润为什么下降了?"——这是每个财务 BP 都会被管理层追问的经典场景。

如果你的回答是"收入降了 5%,成本升了 8%",大概率会迎来第二问:"到底是哪个环节出了问题?是卖得少了,还是费用失控了,还是杠杆太高了?"

这时候,你需要一套系统性的拆解框架,而不是拍脑袋找原因。

杜邦分析(DuPont Analysis)就是这样一个框架——它把一个综合指标层层拆解,帮你定位真正的驱动因素。本文用 Python 实现杜邦分析的全流程,并延伸到 CVP 本量利分析和方差分析,构建完整的盈利能力诊断工具链。


杜邦分析体系:从三因素到五因素

经典三因素拆解

杜邦分析的核心思想是层层拆解,把 ROE(Return on Equity,净资产收益率)分解为三个独立驱动因素:

$$ROE = \underbrace{\frac{净利润}{营业收入}}_{\text{净利率}} \times \underbrace{\frac{营业收入}{总资产}}_{\text{资产周转率}} \times \underbrace{\frac{总资产}{股东权益}}_{\text{权益乘数}}$$

用一个类比来理解:

净利率——"赚不赚钱":每卖 1 块钱的东西,能留下多少利润

资产周转率——"卖得快不快":资产转化为收入的速度

权益乘数——"借了多少杠杆":用别人的钱放大了多少倍

三个因素对应三种完全不同的经营策略:高利润(如奢侈品)、高周转(如零售)、高杠杆(如房地产)。利润下降时,先搞清楚是哪个因素出了问题,才能对症下药。

五因素扩展拆解

三因素模型有个缺陷:净利率是个"大杂烩",把税负、利息、经营效率混在一起。五因素模型进一步拆解:

$$ROE = \underbrace{\frac{税前利润}{EBT}}_{\text{税负因素}} \times \underbrace{\frac{EBT}{EBIT}}_{\text{利息因素}} \times \underbrace{\frac{EBIT}{营业收入}}_{\text{经营利润率}} \times \underbrace{\frac{营业收入}{总资产}}_{\text{资产周转率}} \times \underbrace{\frac{总资产}{股东权益}}_{\text{权益乘数}}$$

其中 EBT 为税前利润,EBIT 为息税前利润(Earnings Before Interest and Taxes)。

五因素的好处是把税和利息的影响单独剥离,让你看清:利润变化到底是经营能力变了,还是融资结构变了,还是税率变了。

ROE vs ROIC:别被杠杆蒙蔽

ROE 有个"陷阱":提高杠杆就能拉高 ROE,但风险也在同步放大。

ROIC(Return on Invested Capital,投入资本回报率)剔除了杠杆的影响,纯粹衡量企业经营效率:

$$ROIC = \frac{NOPAT}{投入资本} = \frac{EBIT \times (1 - 税率)}{总资产 - 流动负债}$$

当 ROE 上升但 ROIC 走平时,说明增长靠的是加杠杆而非经营改善——这是一个重要的预警信号。


Python 实现杜邦分析

第一步:计算五因素指标

从利润表和资产负债表数据中,自动计算杜邦分析的五个驱动因素。
python
import pandas as pd
from decimal import Decimal

def calc_dupont_factors(income_stmt: pd.DataFrame, balance_sheet: pd.DataFrame):
    """计算杜邦分析五因素指标,金额使用Decimal保证精度"""
    revenue = Decimal(str(income_stmt["营业收入"].iloc[0]))
    ebit = Decimal(str(income_stmt["息税前利润"].iloc[0]))
    ebt = Decimal(str(income_stmt["税前利润"].iloc[0]))
    net_income = Decimal(str(income_stmt["净利润"].iloc[0]))
    tax = Decimal(str(income_stmt["所得税"].iloc[0]))
    total_assets = Decimal(str(balance_sheet["总资产"].iloc[0]))
    equity = Decimal(str(balance_sheet["股东权益"].iloc[0]))

    # 五因素逐一计算
    tax_burden = ebt / (ebt + tax)       # 税负因素
    interest = ebt / ebit                 # 利息因素
    op_margin = ebit / revenue            # 经营利润率
    asset_turnover = revenue / total_assets  # 资产周转率
    leverage = total_assets / equity      # 权益乘数
    roe = tax_burden * interest * op_margin * asset_turnover * leverage
    return {"税负因素": tax_burden, "利息因素": interest,
            "经营利润率": op_margin, "资产周转率": asset_turnover,
            "权益乘数": leverage, "ROE": roe}

一句话总结:五因素拆解的关键是把税负和利息从净利率中剥离出来,还原真实的经营效率。

第二步:多年趋势对比

将多年数据放在一起,观察各因素的变动趋势。
python
def dupont_trend_analysis(multi_year_data: dict) -> pd.DataFrame:
    """多年杜邦分析趋势对比,输入为 {年份: (利润表, 资产负债表)} 字典"""
    results = []
    for year, (istmt, bs) in multi_year_data.items():
        factors = calc_dupont_factors(istmt, bs)
        factors["年份"] = year
        results.append(factors)
    df = pd.DataFrame(results).set_index("年份")
    # 转为百分比展示,更直观
    pct_cols = ["税负因素", "利息因素", "经营利润率", "ROE"]
    df[pct_cols] = df[pct_cols].apply(lambda x: x.apply(lambda v: f"{v:.2%}"))
    return df

一句话总结:趋势对比能发现哪个因素在恶化——比如经营利润率连年下降,但杠杆在上升,说明企业在"借债撑利润"。

第三步:瀑布图可视化

用瀑布图展示各因素对 ROE 变化的贡献,让管理层一眼看懂。
python
import matplotlib.pyplot as plt
import numpy as np

def plot_waterfall(base_factors, current_factors, year_label):
    """绘制ROE因素贡献瀑布图"""
    labels = ["税负", "利息", "经营利润率", "资产周转率", "权益乘数"]
    # 计算各因素变化对ROE的边际贡献
    contributions = []
    for key in labels:
        delta = current_factors[key] - base_factors[key]
        contributions.append(float(delta) * 100)

    # 绘制瀑布图
    fig, ax = plt.subplots(figsize=(10, 6))
    cumulative = np.cumsum(contributions)
    colors = ["#2ecc71" if c >= 0 else "#e74c3c" for c in contributions]
    ax.bar(labels, contributions, color=colors, edgecolor="white")
    ax.set_title(f"{year_label} ROE变动因素贡献(百分点)")
    ax.axhline(y=0, color="black", linewidth=0.5)
    plt.tight_layout()
    plt.savefig(f"dupont_waterfall_{year_label}.png", dpi=150)
    plt.close()

一句话总结:瀑布图把抽象的数字变成了直观的"谁贡献了多少",是向管理层汇报的利器。


CVP 本量利分析:找到盈亏平衡点

核心概念

CVP 分析(Cost-Volume-Profit Analysis,成本-业务量-利润分析)回答一个根本问题:卖多少才能不亏钱?

关键变量拆解:

概念含义举例
变动成本随销量同比例变动的成本原材料、计件工资
固定成本不随销量变化的成本房租、管理人员工资
边际贡献单价 - 单位变动成本每卖一件"赚"多少
盈亏平衡点边际贡献刚好覆盖固定成本不赚不亏的销量

一个直觉类比:你开了一家奶茶店,每月房租 1 万(固定成本),每杯奶茶原料成本 5 元、售价 15 元。每卖一杯"赚"10 元(边际贡献),至少要卖 1000 杯才能覆盖房租——这就是盈亏平衡点。

Python 实现 CVP 模型

计算盈亏平衡点、安全边际和目标利润下的所需销量。
python
from decimal import Decimal

def cvp_analysis(price, variable_cost, fixed_cost, actual_volume):
    """CVP本量利分析:计算盈亏平衡点和安全边际"""
    p = Decimal(str(price))
    vc = Decimal(str(variable_cost))
    fc = Decimal(str(fixed_cost))
    vol = Decimal(str(actual_volume))

    # 边际贡献 = 单价 - 单位变动成本
    cm = p - vc
    # 盈亏平衡点(销量)= 固定成本 / 边际贡献
    breakeven = fc / cm
    # 安全边际率 = (实际销量 - 盈亏平衡销量) / 实际销量
    margin_of_safety = (vol - breakeven) / vol
    return {"边际贡献": cm, "盈亏平衡销量": breakeven,
            "安全边际率": f"{margin_of_safety:.1%}",
            "当前利润": cm * vol - fc}

一句话总结:CVP 分析让 BP 能回答"降多少销量才会亏钱"这个管理层最焦虑的问题。

接下来,做一个敏感性分析,看价格和成本变动对利润的影响。
python
def cvp_sensitivity(price, vc, fc, base_volume):
    """敏感性分析:测试价格和成本变动对利润的影响"""
    results = []
    # 价格变动 -10% 到 +10%
    for pct in [-0.10, -0.05, 0, 0.05, 0.10]:
        new_price = Decimal(str(price)) * (1 + Decimal(str(pct)))
        new_cm = new_price - Decimal(str(vc))
        profit = new_cm * Decimal(str(base_volume)) - Decimal(str(fc))
        results.append({"变动": f"价格{pct:+.0%}", "利润": profit})
    # 成本变动 -10% 到 +10%
    for pct in [-0.10, -0.05, 0, 0.05, 0.10]:
        new_vc = Decimal(str(vc)) * (1 + Decimal(str(pct)))
        new_cm = Decimal(str(price)) - new_vc
        profit = new_cm * Decimal(str(base_volume)) - Decimal(str(fc))
        results.append({"变动": f"成本{pct:+.0%}", "利润": profit})
    return pd.DataFrame(results)

一句话总结:敏感性分析告诉你"价格降 5% 和多卖 5% 哪个对利润影响更大",辅助定价和促销决策。


方差分析入门:拆解差异的来源

为什么需要方差分析

预算做了 1000 万收入,实际只完成 850 万。差了 150 万,到底是卖便宜了,还是卖少了?

方差分析(Variance Analysis)把这个差异拆成三部分:

差异类型公式含义
价格差异(实际单价 - 预算单价) × 实际数量"卖便宜了"造成的损失
数量差异(实际数量 - 预算数量) × 预算单价"卖少了"造成的损失
混合差异总差异 - 价格差异 - 数量差异产品结构变化的影响

一个类比:你计划卖 100 个苹果、单价 10 元(预算 1000 元),实际卖了 90 个、单价 9 元(实际 810 元)。价格差异 = (9-10)×90 = -90 元,数量差异 = (90-100)×10 = -100 元,混合差异 = -190-(-90)-(-100) = +10 元。

Python 实现

自动计算价格差异、数量差异和混合差异。
python
import pandas as pd
from decimal import Decimal

def variance_analysis(budget_df, actual_df):
    """方差分析:拆解收入差异为价格、数量和混合因素"""
    merged = budget_df.merge(actual_df, on="产品", suffixes=("_预算", "_实际"))
    results = []
    for _, row in merged.iterrows():
        bp = Decimal(str(row["单价_预算"]))
        ap = Decimal(str(row["单价_实际"]))
        bq = Decimal(str(row["数量_预算"]))
        aq = Decimal(str(row["数量_实际"]))
        # 三类差异计算
        price_var = (ap - bp) * aq          # 价格差异
        qty_var = (aq - bq) * bp            # 数量差异
        total_var = ap * aq - bp * bq       # 总差异
        mix_var = total_var - price_var - qty_var  # 混合差异
        results.append({"产品": row["产品"], "价格差异": price_var,
                        "数量差异": qty_var, "混合差异": mix_var,
                        "总差异": total_var})
    return pd.DataFrame(results)

一句话总结:方差分析把"差了多少"拆成"价格原因"和"数量原因",让责任归属更清晰。


踩坑记录:两个实战教训

坑 1:杜邦分析中合并报表口径不一致

现象:用合并报表数据算出的权益乘数异常偏高,远超行业水平。

原因:合并报表中包含了少数股东权益,但计算权益乘数时只用了归母权益,分子分母口径不一致。

解决:统一使用"归属于母公司股东权益"计算权益乘数,或在分析报告中明确标注口径。

python
# 正确做法:分子分母口径一致
equity = Decimal(str(bs["归母股东权益"].iloc[0]))
# 不要用总权益,否则杠杆倍数会被低估
leverage = total_assets / equity

坑 2:CVP 分析忽略了阶梯式固定成本

现象:用 CVP 模型预测扩产后的利润,结果实际利润远低于预测。

原因:产量突破某个阈值后,需要新增一条产线,固定成本突然跳升——但模型假设固定成本不变。

解决:对固定成本做阶梯式分段处理,而不是简单的线性假设。

python
# 阶梯式固定成本:不同产能区间对应不同的固定成本
def stepped_fixed_cost(volume):
    """根据产量区间返回对应的固定成本"""
    if volume <= 10000:
        return Decimal("500000")   # 基础产能
    elif volume <= 20000:
        return Decimal("800000")   # 需新增设备
    else:
        return Decimal("1200000")  # 需新建产线

效果对比:手工分析 vs 自动化分析

维度手工 Excel 分析Python 自动化提升效果
杜邦五因素计算2-3 小时5 分钟效率提升 95%
多年趋势对比手动复制粘贴一次循环搞定效率提升 90%
CVP 敏感性测试改一个数重算一次批量自动计算效率提升 80%
方差拆解逐行手算自动合并计算效率提升 95%
结果可视化手动调图表代码自动生成效率提升 85%
可复用性换数据重做换文件即可跑复用率 100%

总结

本文的核心收获:

1. 杜邦分析是 BP 的"诊断工具箱":三因素快速定位、五因素精准归因,再配合 ROIC 交叉验证,能系统回答"利润为什么变了"。

2. CVP 和方差分析是杜邦的"最佳搭档":杜邦告诉你"哪里变了",CVP 告诉你"卖多少才能不亏",方差分析告诉你"差在哪了"——三者组合就是完整的盈利能力诊断方案。

3. Python 让分析从一次性变成可复用:写好代码,换个数据文件就能跑,效率提升一个量级。

💡 一句话总结:杜邦分析 + CVP + 方差分析,三件套组合拳让财务 BP 从"解释过去"升级为"诊断问题、预判风险"。

系列回顾:本文是「财务BP实战课」系列的进阶篇。建议先阅读 EP08:5个分析模型 打好基础,再结合 EP03:Python业务分析 熟悉代码实现。

系列导航

📚 财务BP实战课系列:帮助财务BP从“数据搬运工”成长为“战略决策伙伴”。
上一篇下一篇
EP11:制造业/零售/互联网/医药:4大行业财务BP工作差异全解析EP13:财务BP的风险管理实战:从经营风险识别到压力测试

本系列全部文章:

• EP01:财务BP岗位能力全景图:从业务支持到战略伙伴

• EP02:用Excel构建财务BP分析体系:从数据透视表到Power Query

• EP03:用Python构建业务分析模型:从数据到决策洞察

• EP04:用Python实现预算编制自动化:从手工Excel到数据驱动

• EP05:用Python提升财务BP工作效率:自动化报表与可视化分析

• EP06:毛利率从 21% 回升至 25.5%:某制造业财务BP如何用数据分析驱动降本 800 万

• EP07:从 30 页 PPT 被叫停到满意度 4.5 分:财务BP如何用数据叙事赢得业务信任

• EP08:用数据驱动业务增长:财务BP必备的5个分析模型

• EP09:财务BP职业成长路径:从数据搬运工到战略决策伙伴

• EP10:财务BP必备工具清单:从Excel到Python的全栈工具链

• EP11:制造业/零售/互联网/医药:4大行业财务BP工作差异全解析

EP12:杜邦分析实战:用Python拆解企业盈利能力的驱动密码(本篇)

• EP13:财务BP的风险管理实战:从经营风险识别到压力测试

• EP14:管理会计4大核心方法:从本量利到作业成本法的BP实战指南

• EP15:业财融合不是口号:财务BP跨部门协作的6个实战方法论

• EP16:财务BP的战略分析工具箱:SWOT/五力/价值链/BSC实战指南

• EP17:超越增量预算:零基预算/弹性预算/CAPEX预算的BP实战指南

• EP18:SQL for 财务BP:从数据获取到复杂查询的实战指南

• EP19:财务BP的数字化转型地图:从RPA到财务中台

• EP20:财务BP的营运资金管理实战:从账龄分析到现金循环周期

• EP21:如何开好月度经营分析会:BP从"最后汇报"到"会议主角"的实操手册

• EP22:超越单点预测:财务BP的高阶预测实战——情景分析、滚动预测与ML入门

• EP23:从"管钱"到"资本操盘":财务BP的司库管理与融资看板实战

• EP24:不只是算NPV:财务BP的投融资决策与DCF估值实战

• EP25:CFO的终极考题:资本配置组合管理实战

• EP26:从"罗列数据"到"洞察动因":财务BP的MD&A与假设树实战

• EP27:内控不是"找茬":财务BP的内控评价体系实战

• EP28:数据的"地基工程":财务BP的主数据治理与数据质量实战

• 补充篇:用Power BI搭建财务BP管理驾驶舱:从数据源到交互式看板

• 补充篇B:用AI重塑财务BP工作流:从ChatGPT辅助分析到智能预测

• 总结回顾篇:财务BP实战课10讲精华回顾:从入门到进阶的完整知识地图

互动问题:你在做盈利能力分析时,最常用哪个工具?杜邦分析、CVP 还是方差分析?或者你有自己的独门分析方法?欢迎在评论区分享,我们一起交流!

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-08-21 11:11:50 HTTP/2.0 GET : https://f.mffb.com.cn/a/511561.html
  2. 运行时间 : 0.221341s [ 吞吐率:4.52req/s ] 内存消耗:4,407.38kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=06c08aa329451b489ac6d788046a0cde
  1. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/public/index.php ( 0.79 KB )
  2. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/autoload.php ( 0.17 KB )
  3. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/autoload_real.php ( 2.49 KB )
  4. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/platform_check.php ( 0.90 KB )
  5. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/ClassLoader.php ( 14.03 KB )
  6. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/autoload_static.php ( 4.90 KB )
  7. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper.php ( 8.34 KB )
  8. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-validate/src/helper.php ( 2.19 KB )
  9. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/helper.php ( 1.47 KB )
  10. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/stubs/load_stubs.php ( 0.16 KB )
  11. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Exception.php ( 1.69 KB )
  12. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-container/src/Facade.php ( 2.71 KB )
  13. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/deprecation-contracts/function.php ( 0.99 KB )
  14. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap.php ( 8.26 KB )
  15. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap80.php ( 9.78 KB )
  16. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/var-dumper/Resources/functions/dump.php ( 1.49 KB )
  17. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-dumper/src/helper.php ( 0.18 KB )
  18. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/var-dumper/VarDumper.php ( 4.30 KB )
  19. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/App.php ( 15.30 KB )
  20. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-container/src/Container.php ( 15.76 KB )
  21. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/container/src/ContainerInterface.php ( 1.02 KB )
  22. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/provider.php ( 0.19 KB )
  23. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Http.php ( 6.04 KB )
  24. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper/Str.php ( 7.29 KB )
  25. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Env.php ( 4.68 KB )
  26. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/common.php ( 0.03 KB )
  27. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/helper.php ( 18.78 KB )
  28. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Config.php ( 5.54 KB )
  29. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/app.php ( 0.95 KB )
  30. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/cache.php ( 0.78 KB )
  31. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/console.php ( 0.23 KB )
  32. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/cookie.php ( 0.56 KB )
  33. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/database.php ( 2.48 KB )
  34. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/Env.php ( 1.67 KB )
  35. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/filesystem.php ( 0.61 KB )
  36. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/lang.php ( 0.91 KB )
  37. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/log.php ( 1.35 KB )
  38. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/middleware.php ( 0.19 KB )
  39. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/route.php ( 1.89 KB )
  40. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/session.php ( 0.57 KB )
  41. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/trace.php ( 0.34 KB )
  42. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/view.php ( 0.82 KB )
  43. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/event.php ( 0.25 KB )
  44. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Event.php ( 7.67 KB )
  45. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/service.php ( 0.13 KB )
  46. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/AppService.php ( 0.26 KB )
  47. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Service.php ( 1.64 KB )
  48. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Lang.php ( 7.35 KB )
  49. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/lang/zh-cn.php ( 13.70 KB )
  50. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/Error.php ( 3.31 KB )
  51. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/RegisterService.php ( 1.33 KB )
  52. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/services.php ( 0.14 KB )
  53. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/PaginatorService.php ( 1.52 KB )
  54. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/ValidateService.php ( 0.99 KB )
  55. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/ModelService.php ( 2.04 KB )
  56. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/Service.php ( 0.77 KB )
  57. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Middleware.php ( 6.72 KB )
  58. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/BootService.php ( 0.77 KB )
  59. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/Paginator.php ( 11.86 KB )
  60. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-validate/src/Validate.php ( 63.20 KB )
  61. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/Model.php ( 23.55 KB )
  62. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Attribute.php ( 21.05 KB )
  63. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/AutoWriteData.php ( 4.21 KB )
  64. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Conversion.php ( 6.44 KB )
  65. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/DbConnect.php ( 5.16 KB )
  66. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/ModelEvent.php ( 2.33 KB )
  67. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/RelationShip.php ( 28.29 KB )
  68. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/contract/Arrayable.php ( 0.09 KB )
  69. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/contract/Jsonable.php ( 0.13 KB )
  70. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/contract/Modelable.php ( 0.09 KB )
  71. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Db.php ( 2.88 KB )
  72. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/DbManager.php ( 8.52 KB )
  73. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Log.php ( 6.28 KB )
  74. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Manager.php ( 3.92 KB )
  75. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/log/src/LoggerTrait.php ( 2.69 KB )
  76. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/log/src/LoggerInterface.php ( 2.71 KB )
  77. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Cache.php ( 4.92 KB )
  78. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/simple-cache/src/CacheInterface.php ( 4.71 KB )
  79. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper/Arr.php ( 16.63 KB )
  80. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/cache/driver/File.php ( 7.84 KB )
  81. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/cache/Driver.php ( 9.03 KB )
  82. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/CacheHandlerInterface.php ( 1.99 KB )
  83. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/Request.php ( 0.09 KB )
  84. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Request.php ( 55.78 KB )
  85. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/middleware.php ( 0.25 KB )
  86. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Pipeline.php ( 2.61 KB )
  87. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/TraceDebug.php ( 3.40 KB )
  88. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/middleware/SessionInit.php ( 1.94 KB )
  89. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Session.php ( 1.80 KB )
  90. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/session/driver/File.php ( 6.27 KB )
  91. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/SessionHandlerInterface.php ( 0.87 KB )
  92. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/session/Store.php ( 7.12 KB )
  93. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Route.php ( 23.73 KB )
  94. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleName.php ( 5.75 KB )
  95. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Domain.php ( 2.53 KB )
  96. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleGroup.php ( 22.43 KB )
  97. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Rule.php ( 26.95 KB )
  98. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleItem.php ( 9.78 KB )
  99. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/route/app.php ( 1.72 KB )
  100. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/Route.php ( 4.70 KB )
  101. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/dispatch/Controller.php ( 4.74 KB )
  102. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Dispatch.php ( 10.44 KB )
  103. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/controller/Index.php ( 4.81 KB )
  104. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/BaseController.php ( 2.05 KB )
  105. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/facade/Db.php ( 0.93 KB )
  106. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/connector/Mysql.php ( 5.44 KB )
  107. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/PDOConnection.php ( 52.47 KB )
  108. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Connection.php ( 8.39 KB )
  109. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/ConnectionInterface.php ( 4.57 KB )
  110. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/builder/Mysql.php ( 16.58 KB )
  111. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Builder.php ( 24.06 KB )
  112. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseBuilder.php ( 27.50 KB )
  113. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Query.php ( 15.71 KB )
  114. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseQuery.php ( 45.13 KB )
  115. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TimeFieldQuery.php ( 7.43 KB )
  116. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/AggregateQuery.php ( 3.26 KB )
  117. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ModelRelationQuery.php ( 20.07 KB )
  118. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ParamsBind.php ( 3.66 KB )
  119. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ResultOperation.php ( 7.01 KB )
  120. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/WhereQuery.php ( 19.37 KB )
  121. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/JoinAndViewQuery.php ( 7.11 KB )
  122. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TableFieldInfo.php ( 2.63 KB )
  123. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/Transaction.php ( 2.77 KB )
  124. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/log/driver/File.php ( 5.96 KB )
  125. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/LogHandlerInterface.php ( 0.86 KB )
  126. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/log/Channel.php ( 3.89 KB )
  127. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/event/LogRecord.php ( 1.02 KB )
  128. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/Collection.php ( 16.47 KB )
  129. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/View.php ( 1.70 KB )
  130. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/View.php ( 4.39 KB )
  131. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Response.php ( 8.81 KB )
  132. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/response/View.php ( 3.29 KB )
  133. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Cookie.php ( 6.06 KB )
  134. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-view/src/Think.php ( 8.38 KB )
  135. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/TemplateHandlerInterface.php ( 1.60 KB )
  136. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/Template.php ( 46.61 KB )
  137. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/template/driver/File.php ( 2.41 KB )
  138. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/template/contract/DriverInterface.php ( 0.86 KB )
  139. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/runtime/temp/067d451b9a0c665040f3f1bdd3293d68.php ( 11.98 KB )
  140. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
  1. CONNECT:[ UseTime:0.001252s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.001854s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000678s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000645s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.001363s ]
  6. SELECT * FROM `set` [ RunTime:0.000580s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.001736s ]
  8. SELECT * FROM `article` WHERE `id` = 511561 LIMIT 1 [ RunTime:0.001400s ]
  9. UPDATE `article` SET `lasttime` = 1787281910 WHERE `id` = 511561 [ RunTime:0.012425s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 66 LIMIT 1 [ RunTime:0.000692s ]
  11. SELECT * FROM `article` WHERE `id` < 511561 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.001264s ]
  12. SELECT * FROM `article` WHERE `id` > 511561 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.001136s ]
  13. SELECT * FROM `article` WHERE `id` < 511561 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.001828s ]
  14. SELECT * FROM `article` WHERE `id` < 511561 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.025421s ]
  15. SELECT * FROM `article` WHERE `id` < 511561 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.002292s ]
0.225060s