当前位置:首页>python>如何用Python批量计算内含报酬率(IRR)

如何用Python批量计算内含报酬率(IRR)

  • 2026-06-29 11:05:58
如何用Python批量计算内含报酬率(IRR)

从概念理解到代码落地,一篇文章搞定IRR批量计算


一、为什么你需要用Python算IRR?

如果你在融资租赁公司、投资机构或企业财务部门工作,大概率遇到过这样的场景:

每月月初,桌上摞着上百份项目的收益测算表,每个项目的融资金额、期限、租金结构、保证金比例都不一样。你需要逐一计算每个项目的内含报酬率(IRR),判断哪些项目收益达标、哪些需要调整定价。用Excel拖公式勉强能应付十几个项目,但面对上百个项目——尤其是涉及保证金抵扣、一次性费用等复杂现金流结构时——手动操作不仅耗时,而且极易出错。

本文的价值:看完这篇文章,你将掌握IRR的核心逻辑,并获得一套可以直接运行的Python批量计算方案。从此,上百个项目的IRR计算,从数小时缩短到几秒钟。


二、IRR到底是什么?一个案例说透

2.1 基础定义

内含报酬率(Internal Rate of Return,简称IRR),是使投资项目净现值(NPV)等于0的那个折现率。

用大白话说:IRR就是在考虑资金时间价值的前提下,项目本身能实现的真实年化收益率。

它的数学表达式是:

其中  是第  期的现金流, 是总期数。IRR就是让这个等式成立的那个利率。

2.2 核心特性

  • 内生性:IRR只和项目自身的现金流有关,不需要你额外假设一个折现率,客观反映项目本身的盈利能力。
  • 判断规则清晰:IRR ≥ 企业门槛收益率 → 项目值得投;IRR < 门槛收益率 → 放弃。
  • 天然支持排序:资金有限时,优先选IRR更高的项目。

2.3 一个颠覆直觉的案例

假设你现在手握10万元,面前有两个投资机会:

项目
初始投入
回款安排
总收益
项目A
10万
1年后一次性拿回11万
1万
项目B
10万
接下来3年每年末拿回4万
2万

如果只看总收益:B赚2万 > A赚1万,似乎B更好?

但计算IRR后,结论完全不同:

  • **项目A的IRR = 10%**(很直观,1年赚10%)
  • **项目B的IRR ≈ 9.7%**(因为钱是分3年收回的,前期收回的4万如果不能再投出去获取同等回报,资金的时间价值就被摊薄了)

如果你的最低收益要求是10%,那么看似总收益更高的B反而不达标,应该选A。

这就是IRR的核心价值:穿透表面的收益数字,看到考虑资金时间价值后的真实年化收益水平。

2.4 IRR的典型适用场景

场景
具体应用
多项目同期评审
数十上百个待评项目,用IRR门槛(如≥15%)快速筛选
存量项目复盘
按季度对比实际IRR与预期差异,识别低效项目
资产并购/处置
资产包内逐项目测算IRR,作为定价核心依据
金融产品投资
融资租赁、非标债权、普惠信贷等底层资产逐笔评估

三、融资租赁业务中的IRR计算——完整案例

3.1 业务基础规则

融资租赁公司不像银行那样单独收利息,而是将利息打包进每期租金中:

租赁公司的实际收益率(IRR),就隐含在这个租金结构里。

3.2 具体数值案例

以商用车融资租赁为例:

  • 客户购车总价:30万元
  • 首付比例:20%,首付金额 = 6万元
  • 融资金额:30万 - 6万 = 24万元(即租赁公司实际投放的本金)
  • 租赁期限:36个月
  • 还款方式:等额本息
  • 测算IRR:8%(年化)

按等额本息公式,每月租金约7,521元,各期租金结构如下:

期数
本金
利息
利息计算逻辑
第1期
5,921元
1,600元
24万 × 8% ÷ 12
第18期
7,231元
290元
剩余本金4.35万 × 8% ÷ 12
第36期
7,472元
49元
剩余本金0.73万 × 8% ÷ 12

36期总租金合计约270,756元,减去融资本金240,000元,总利息约30,756元

3.3 影响IRR的三类关键因素

在融资租赁实务中,除了常规租金外,还有两类费用会显著提升实际IRR

① 保证金

租赁公司通常要求客户缴纳融资金额5%的保证金(上例中即1.2万),合同期满后退还。

对现金流的影响:这笔钱在租期内被租赁公司无偿占用。体现在现金流中,保证金会抵扣最后几期的租金——相当于租赁公司少投放了一部分资金,但收取的前期租金不变,实际收益率因此上升。

② 一次性费用

包括手续费、GPS安装费、管理费等,通常为融资金额的1%(上例中即2,400),在放款前一次性收取。

对现金流的影响:这笔钱在第0期(投放日)就回收了,直接减少了租赁公司的净投放额。净投放额减少,但后续租金不变,IRR自然上升。

③ 租金水平

这是最基础的因素——月租金越高,回款越快,IRR越高。等额本息和先息后本的还款方式,因为现金流结构不同,计算出的IRR也不同。

三者叠加,就构成了融资租赁项目完整的现金流序列:


四、Python实现——从单个项目到批量计算

4.1 核心逻辑:三步走

用Python计算IRR,本质上就是三步:

  1. 构造现金流序列:第0期为负数(投放),后续各期为正数(回款)
  2. 调用IRR计算函数numpy_financial库的irr()函数,接受现金流数组,返回每期收益率
  3. 年化换算:函数返回的是月收益率,乘以12得到年化IRR

4.2 环境准备

pip install numpy pandas numpy_financial openpyxl

4.3 核心函数详解

函数1:生成现金流序列

import numpy_financial as npfimport numpy as npimport pandas as pddefgenerate_cashflow(init_cash, periods, monthly_payment, margin=0):"""    生成单个项目的现金流序列    Args:        init_cash:        初始投放金额(负数,代表资金流出)        periods:          融资期数(月)        monthly_payment:  每月租金(正数,代表资金流入)        margin:           保证金金额(默认为0)    Returns:        cashflow:         现金流列表,第0项为初始投放,后续为各期回款    """# 构造基础现金流:[初始投放, 月租金, 月租金, ..., 月租金]    cashflow = [init_cash] + [monthly_payment] * periods# 处理保证金:从最后一期往前抵扣# 逻辑:保证金在租期结束时退还给客户,等价于最后几期租金被抵消for i in range(len(cashflow) - 1-1-1):if margin >= cashflow[i]:            margin = margin - cashflow[i]            cashflow[i] = 0else:            cashflow[i] = cashflow[i] - marginbreakreturn cashflow

逻辑说明:保证金在合同到期时退还客户,从租赁公司视角看,这笔钱会抵扣最后几期应收租金。代码从现金流末尾向前遍历,依次抵扣直到保证金用完。

函数2:计算IRR

defcalculate_irr(cashflow):"""    计算年化IRR    Args:        cashflow:   现金流列表(第0期为负,后续为正)    Returns:        irr_annual: 年化IRR(百分比形式)    """    monthly_irr = npf.irr(cashflow)if monthly_irr isNoneor np.isnan(monthly_irr):returnNone# 无法收敛时返回None    irr_annual = monthly_irr * 12# 月IRR × 12 = 名义年化IRRreturn round(irr_annual, 6)

函数3:计算返利后的IRR(进阶)

在某些业务场景中,租赁公司会给渠道方返利,返利会减少第1期的实际回款,从而降低IRR。以下函数用二分法反算在目标IRR约束下的最大返利金额:

defget_rebate(cashflow: list, rebate_ceiling: float, target_IRR: float):"""    用二分法计算满足目标IRR的最大返利金额    Args:        cashflow:        返利前的现金流序列        rebate_ceiling:  返利金额上限        target_IRR:      目标年化IRR(下限)    Returns:        result:          满足目标IRR时的最大返利金额    """    eps = 1# 精度:1元    left = 0    right = rebate_ceilingwhile right - left > eps:        arr = cashflow.copy()        mid = (left + right) / 2# 尝试的返利金额        arr[1] = arr[1] - mid      # 返利从第1期回款中扣除if npf.irr(arr) * 12 <= target_IRR:            right = mid  # IRR已经低于目标,返利太多了,缩小上界else:            left = mid   # IRR仍高于目标,还有返利空间,提高下界return leftdefget_new_cashflow(cashflow, rebate, margin=0):"""    生成返利后的现金流    Args:        cashflow:   返利前现金流        rebate:     返利金额        margin:     保证金    Returns:        new_cashflow: 返利后的现金流    """    new_cashflow = cashflow.copy()    new_cashflow[1] = cashflow[1] - rebatereturn new_cashflow

4.4 单个项目完整计算示例

# ========== 案例:商用车融资租赁 ==========# 基础参数vehicle_price = 300000# 车辆总价:30万down_payment = 60000# 首付:6万(20%)financing_amount = 240000# 融资金额:24万periods = 36# 期限:36个月monthly_payment = 7521# 月租金:7521元gps_fee = 2000# GPS费:2000元margin = 12000# 保证金:融资额的5%# 计算净投放额(扣除一次性费用)net_investment = -(financing_amount - gps_fee)  # 负数表示资金流出# net_investment = -238000# 生成现金流cashflow = generate_cashflow(    init_cash=net_investment,    periods=periods,    monthly_payment=monthly_payment,    margin=margin)# 计算IRRirr = calculate_irr(cashflow)print(f"该项目的年化IRR为:{irr*100:.2f}%")# 输出示例:该项目的年化IRR为:9.12%(因扣除GPS费和保证金,实际IRR高于名义利率8%)

4.5 批量计算——从Excel读取、批量输出

以下是完整的批量计算方案,适合一次性处理上百个项目:

import pandas as pdimport numpy as npimport numpy_financial as npfdefgenerate_cashflow(init_cash, periods, monthly_payment, margin=0):"""生成单个项目的现金流序列"""    cashflow = [init_cash] + [monthly_payment] * periodsfor i in range(len(cashflow) - 1-1-1):if margin >= cashflow[i]:            margin = margin - cashflow[i]            cashflow[i] = 0else:            cashflow[i] = cashflow[i] - marginbreakreturn cashflowdefcalculate_irr(cashflow):"""计算年化IRR"""try:        monthly_irr = npf.irr(cashflow)if monthly_irr isNoneor np.isnan(monthly_irr):returnNonereturn round(monthly_irr * 126)except Exception:returnNonedefbatch_calculate_irr(input_file, output_file):"""    批量计算IRR的主函数    Args:        input_file:  输入Excel文件路径        output_file: 输出Excel文件路径    Excel文件应包含以下列:        - 合同编号        - 融资金额        - 融资期数(月)        - 每月租金        - 保证金金额        - GPS费(一次性费用)    """# 1. 读取Excel数据    df = pd.read_excel(input_file)# 2. 数据校验    required_cols = ['合同编号''融资金额''融资期数''每月租金''保证金金额''GPS费']    missing_cols = [col for col in required_cols if col notin df.columns]if missing_cols:raise ValueError(f"缺少必要列:{missing_cols}")# 3. 逐行计算IRR    results = []for idx, row in df.iterrows():# 计算净投放额        net_investment = -(row['融资金额'] - row['GPS费'])# 生成现金流        cashflow = generate_cashflow(            init_cash=net_investment,            periods=int(row['融资期数']),            monthly_payment=row['每月租金'],            margin=row['保证金金额']        )# 计算IRR        irr = calculate_irr(cashflow)        results.append({'合同编号': row['合同编号'],'融资金额': row['融资金额'],'融资期数': row['融资期数'],'每月租金': row['每月租金'],'年化IRR'f"{irr*100:.2f}%"if irr else"计算失败"        })# 4. 输出结果    df_result = pd.DataFrame(results)    df_result.to_excel(output_file, index=False)# 5. 打印汇总信息    valid_irrs = [r for r in results if r['年化IRR'] != "计算失败"]    print(f"✅ 计算完成!共处理 {len(results)} 个项目")    print(f"   成功:{len(valid_irrs)} 个")    print(f"   失败:{len(results) - len(valid_irrs)} 个")    print(f"   结果已保存至:{output_file}")return df_result# ========== 使用示例 ==========if __name__ == "__main__":    result = batch_calculate_irr(        input_file="项目数据.xlsx",        output_file="IRR计算结果.xlsx"    )    print(result)

4.6 常见坑点与注意事项

坑点1:现金流正负号弄反

这是最常见的错误。必须保持一个统一规则

  • 从投资方(租赁公司)视角:投放为负(资金流出),回款为正(资金流入)
  • 或者从融资方(客户)视角:收到贷款为正,还款为负

两种视角都能算出正确的IRR,但绝对不能混用。本文统一采用投资方视角。

坑点2:月IRR和年IRR混淆

npf.irr() 返回的是每期的收益率。如果现金流是按月排列的,返回的就是月IRR,需要乘以12转换为名义年化IRR。

annual_irr = npf.irr(cashflow) * 12# 名义年化(简单乘法)effective_annual_irr = (1 + npf.irr(cashflow))**12 - 1# 实际年化(复利)

一般业务中使用名义年化(乘以12)即可,与银行贷款利率口径一致。

坑点3:IRR无法收敛

当现金流全为正或全为负时,IRR方程无解,npf.irr() 会返回 nan。代码中要做好异常处理:

irr = npf.irr(cashflow)if np.isnan(irr):    print("警告:该项目现金流结构异常,IRR无法计算")

坑点4:不规则现金流

如果各期回款金额不等(如前6个月只还利息,后面等额本息),不能简单用 [payment] * periods 构造现金流,而是要逐期输入实际金额:

# 不规则现金流示例:前6期只还利息1600元,后30期等额本息8500元cashflow = [-240000] + [1600]*6 + [8500]*30irr = npf.irr(cashflow) * 12

五、总结与扩展

5.1 核心要点回顾

  • IRR是什么:考虑资金时间价值后的真实年化收益率,让不同期限、不同结构的项目可以"苹果对苹果"地比较。
  • 为什么用Python:面对上百个项目,Python可以在几秒内完成批量计算,告别手动Excel的低效和出错风险。
  • 关键代码逻辑:构造现金流序列 → 调用 npf.irr() → 年化换算,三步搞定。

5.2 效率对比

维度
手动Excel
Python批量方案
100个项目耗时
3~5小时
3~5秒
出错概率
高(公式拖拽容易行号错位)
极低(逻辑统一)
灵活性
低(结构变了要重写公式)
高(改参数即可)
可追溯性
好(代码即文档)

5.3 扩展应用方向

  1. 结果可视化:用 matplotlib 或 plotly 绑定 IRR 分布直方图,一眼看出项目收益分布是否健康。

  2. 对接项目管理系统:将批量计算脚本封装为API服务,与企业的审批系统(如简道云、钉钉等)打通,实现"项目审批完成 → 自动计算IRR → 自动入库"的全流程自动化。

  3. 敏感性分析:批量模拟不同租金水平、不同期限下的IRR变化,辅助产品定价决策。

  4. 风险预警:定期批量重算存量项目的实际IRR(考虑逾期影响),对偏离预期较大的项目自动预警。


附:完整可运行代码已包含在第四章,读者可直接复制使用。建议先用少量测试数据验证,确认现金流正负号规则与自身业务一致后再批量运行。

如果这篇文章对你有帮助,欢迎「点赞」「收藏」「转发」。你的每一次分享,都能让更多被 IRR 折磨的同事少走弯路 🚀

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-07-03 09:33:56 HTTP/2.0 GET : https://f.mffb.com.cn/a/497252.html
  2. 运行时间 : 0.160543s [ 吞吐率:6.23req/s ] 内存消耗:4,608.96kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=24c6c67790b6af0d043221ab613d60b4
  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.000603s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000908s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.014664s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.002897s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000656s ]
  6. SELECT * FROM `set` [ RunTime:0.002073s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000593s ]
  8. SELECT * FROM `article` WHERE `id` = 497252 LIMIT 1 [ RunTime:0.022254s ]
  9. UPDATE `article` SET `lasttime` = 1783042436 WHERE `id` = 497252 [ RunTime:0.008319s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 66 LIMIT 1 [ RunTime:0.020159s ]
  11. SELECT * FROM `article` WHERE `id` < 497252 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000739s ]
  12. SELECT * FROM `article` WHERE `id` > 497252 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.002374s ]
  13. SELECT * FROM `article` WHERE `id` < 497252 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.003962s ]
  14. SELECT * FROM `article` WHERE `id` < 497252 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.001300s ]
  15. SELECT * FROM `article` WHERE `id` < 497252 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.004849s ]
0.162784s