当前位置:首页>python>Python 跑进 Doris SQL 是什么体验?AI 分析从此换了活法

Python 跑进 Doris SQL 是什么体验?AI 分析从此换了活法

  • 2026-08-20 03:20:58
Python 跑进 Doris SQL 是什么体验?AI 分析从此换了活法

见字如面,我是一臻90后新手奶爸,探索Doris x AI Agent

点击关注 👇 免费领取数智AI知识库

某个疯狂星期四的早上,一位做实时风控的数据工程师小李盯着 SQL 编辑器发了五分钟的呆。

他手上有一张支付流水表,几亿行,实时入库。产品要求他在查询时直接给每笔金额打上风险等级——高、中、低,逻辑不复杂,但有十几条判断规则,还会随业务迭代频繁变更

小李写了半天 SQL CASE WHEN,觉得维护性太差;想用存储过程,发现和下游 Python 模型对接又是一套逻辑。最后他把数据导出来,写了个 Python 脚本跑了一遍,结果发现时效慢了半小时,还要维护两套逻辑链路。

这种割裂感,做过实时分析的人都懂——SQL 擅长查,Python 擅长算,但它俩分处两个世界,数据每次得搬家才能做复杂处理。

这不是小李一个人的问题。

两行代码,Python 进了 Doris SQL

传统分析链路的标准动作是:SQL拉数据 → 导出 → Python 脚本处理 → 结果回写

这条路走通了,但走远了。

数据从Doris 出去,到 Python 环境跑一圈,再回来,中间每多一跳,就多一处延迟、多一处故障点、多一段调试地狱。

更麻烦的是,进入 AI 分析时代之后,要处理的东西越来越复杂:日志解析、JSON 字段展开、文本打标签、特征加工、模型打分......

这些逻辑放在 SQL 里写,既难写又难维护;放在外部脚本里跑,又和分析主链路脱节。

问题的根本不是 SQL 不行,而是单靠 SQL 这一套,已经覆盖不了现在的业务复杂度了。

Apache Doris 的 Python UDF 想解决的,就是这个撕裂:让 Python 直接进SQL,数据不出门,复杂逻辑就地处理。

先来看最直接的效果。

在 Doris 里,开发者可以这样创建一个 Python 函数:

CREATEFUNCTION py_risk_level(DOUBLERETURNSSTRINGPROPERTIES ("type" = "PYTHON_UDF","symbol" = "evaluate","runtime_version" = "3.12.11","always_nullable" = "true","volatility" = "immutable"ASdefevaluate(amount):if amount isNone:returnNoneif amount >= 10000:return"high"if amount >= 1000:return"medium"return"low";

创建之后,这个函数和Doris 内置函数没有任何区别,直接在 SQL 里调用:

SELECT user_id, amount, py_risk_level(amount) AS risk_levelFROM payment_eventsWHERE dt = '2026-07-30';

小李看到这段代码的第一反应是:"就这?"

对,就这。

业务规则变了,改Python 函数就行,不用再去维护外部脚本,也不用管数据导出的事。

规则和查询在一个地方,逻辑一目了然,排查问题也少一半的复杂度。

更值得说的是,Python UDF 不只支持标量计算(一行进、一行出),还支持 UDAF 聚合函数(多行进、一行出)和 UDTF 表函数(一行进、多行出)。

三种形态都覆盖了,意味着不管是给单条记录打标签、对一组数据做统计,还是把一个 JSON 数组拆成多行,Python 函数都能接手。

能跑不够,还要跑得快

很多人听到Python UDF第一个疑虑是性能。

这个担忧合理,但 Doris 的实现方式针对这个问题做了专门设计。

核心在于:不是逐行调用,而是批量传输

Doris BE 在执行过程中,会把输入数据打包成 Arrow RecordBatch 的列式格式,通过 Arrow Flight 协议高效传输给独立的 Python Server,Python 函数对整批数据完成计算后,再以列式格式返回结果。

一次往返处理一批数据,彻底规避了传统逐行调用带来的频繁进程切换和序列化开销。

对于大量的字段转换和特征计算场景,Python UDF 还支持直接声明 Pandas Series 类型,启用向量化计算路径:

import pandas as pddefevaluate(amount: pd.Series) -> pd.Series:return pd.cut(        amount,        bins=[-float("inf"), 100100010000, float("inf")],        labels=[0123]    ).astype("Int64")

函数入参和返回值都是 Pandas Series,Doris 检测到类型声明后会走向量化执行路径,不再逐元素循环,而是把整列数据交给 Pandas 底层做批量操作。

几亿行数据做分桶打标,这条路比Python 循环快不是一星半点。

有人可能会问:Python Server挂掉了怎么办?业务查询会不会跟着挂?

Doris 的设计里对这件事做了明确的隔离和自愈机制。

Python UDF 运行在独立进程中,挂了Doris BE 会自动重启,不影响主查询链路;同一个函数的多次调用会复用 Python 进程,不用每次都重新拉起环境;进程的生命周期和资源使用由 Doris 统一管理,业务开发者感知不到底层的这些细节,用起来仍然是一次普通的 SQL 调用。

这对生产环境来说很重要。

能跑起来只是第一步,能稳定跑、能恢复、能隔离,才是进生产的门槛。

从风控到 AI 打分,实际能用在哪

说了这么多机制,回到最现实的问题:业务里能用在哪?

风控是最直接的场景。

规则引擎往往有几十条判断逻辑,条件嵌套深、更新频率高,SQL CASE WHEN 写到第十条就开始怀疑人生。

用 Python UDF 封装规则逻辑,更新规则只需修改函数,不影响查询结构,也不需要重新发布下游服务。

JSON 和日志解析是另一类高频需求。

日志数据进Doris 之后,往往需要从原始字段里解析出结构化信息,复杂的嵌套结构用 SQL JSON 函数处理起来非常受限,用 Python UDF 调用 json 标准库或者 jsonpath 工具就自然很多。

对于在数据平台里做特征工程的团队,Python UDF 可以把原来散落在 Spark任务或 Python 脚本里的特征加工逻辑,直接内嵌到 Doris 查询中。不需要另起一套处理流程,特征计算和数据查询在一个链路完成,链路短了,时效自然就提上来了。

最有想象空间的是 AI 分析场景

把训练好的轻量模型(比如 sklearn 或者ONNX 格式的分类模型)打包成 ZIP,通过 Doris Python UDF 的模块加载方式注册为函数,就能在 SQL 查询中直接调用模型推理。

数据进库,模型打分,结果返回,全在一次查询里完成,不需要把数据导出给推理服务再等结果回来。

顺便说一下模块化加载这个能力。

对于复杂的 Python 函数,Doris 支持把代码打成 ZIP 包上传,通过 file 和 symbol 参数指定模块入口:

CREATEFUNCTION py_model_score(DOUBLERETURNSSTRINGPROPERTIES ("type" = "PYTHON_UDF","file" = "file:///opt/doris/udf/risk_model.zip","symbol" = "risk_model.predict","runtime_version" = "3.10.12","volatility" = "immutable");

这对团队协作更友好——代码在版本控制里管理,评审、测试、发布走正规流程,不会因为有人临时改了内联代码而埋下隐患。

结语

数据分析正在变复杂,不是因为数据变多了,而是要从数据里得到的东西变多了。

统计归统计,规则判断归规则判断,模型打分归模型打分,这些原本分散在不同工具和脚本里的逻辑,正在被要求越来越紧密地协同。

Doris Python UDF 做的事,本质上是把这条链路拉短:让开发者在不拆分分析流程的前提下,把Python 生态的灵活性带进SQL 查询。数据留在 Doris,逻辑也留在 Doris,不再为了用 Python 而多维护一条并联的链路。

小李用 Python UDF 重写了他的风控逻辑,上线那天发现时效从半小时回到了秒级,运维同事也不用再盯着那个每天跑一次的 Python 脚本了。

他说了一句话,我觉得说到点上了:"以前是 SQL 管查,Python 管算,现在终于不用两边跑了。"

对于想在生产环境稳定使用这一能力的团队,SelectDB 商业化产品也已将 Python UDF/UDAF/UDTF 纳入支持范围,在社区版基础上提供更完整的运维保障、安全合规和技术支持体系。

技术的进步,有时候不是发明了什么新东西,而是把两件原本分开的事,以一种合理的方式连起来了。


关注 一臻 免费领取资料,我们下期见❗️

#大数据#开源#AI#Doris#SelectDB#Agent

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-08-21 22:52:46 HTTP/2.0 GET : https://f.mffb.com.cn/a/507656.html
  2. 运行时间 : 0.265138s [ 吞吐率:3.77req/s ] 内存消耗:4,588.15kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=07302261481b77cea8aa0c9f3444928a
  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.001111s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.001920s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000784s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000731s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.001297s ]
  6. SELECT * FROM `set` [ RunTime:0.000604s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.001451s ]
  8. SELECT * FROM `article` WHERE `id` = 507656 LIMIT 1 [ RunTime:0.001133s ]
  9. UPDATE `article` SET `lasttime` = 1787323966 WHERE `id` = 507656 [ RunTime:0.017780s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 66 LIMIT 1 [ RunTime:0.012512s ]
  11. SELECT * FROM `article` WHERE `id` < 507656 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.002357s ]
  12. SELECT * FROM `article` WHERE `id` > 507656 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.018129s ]
  13. SELECT * FROM `article` WHERE `id` < 507656 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.017171s ]
  14. SELECT * FROM `article` WHERE `id` < 507656 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.010664s ]
  15. SELECT * FROM `article` WHERE `id` < 507656 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.007984s ]
0.270807s