跳到内容
当前位置:首页>Excel>换挡:学 PQ 最快的方式,是先忘掉 Excel 的直觉

换挡:学 PQ 最快的方式,是先忘掉 Excel 的直觉

  • 2026-09-22 18:31:37
换挡:学 PQ 最快的方式,是先忘掉 Excel 的直觉

2026 / 09 / 16 · 数魔方方法论系列 · ⑬ · 换挡篇 · tesseract_num

PQ 不难,难在它长在 Excel 里,却不说 Excel 的话。Excel 给你的三个根深蒂固的直觉——操作数据、一个文件装下所有表、筛选只是看看——恰好就是学 PQ 的三道墙:逻辑断层、结构断层、交互断层。跨过去,PQ 就是「按钮版的 Python」。

一句话主张

学 PQ 快不快,从来不取决于你 Excel 有多熟,而取决于你多快忘掉 Excel 给你的直觉。三道墙其实是同一道:你带着 Excel 的直觉走进了 PQ。

一、破题:不是学新功能,是换一套思考方式

很多人一上手 PQ 就「别扭」,却说不清别扭在哪。因为真正要换的不是操作技巧,而是三个底层认知。它们构成三道断层——每一道,都对应一个你从 Excel 带过来的、根深蒂固的直觉。

CH.01 逻辑断层

从「操作数据」到「描述流程」

Excel 直觉:我在动手改数据,改一步看一眼 | PQ 真相:我在写一份可复现、可交接的说明书

CH.02 结构断层

从「一个文件」到「一条管道」

Excel 直觉:把各张表都搬进同一个文件里再算 | PQ 真相:源不搬家,只被读一遍,管道连着所有源头

CH.03 交互断层

从「看见什么」到「数据是什么」

Excel 直觉:筛选只是临时看看,数据其实还在 | PQ 真相:筛掉的就真的没了,下游再也看不到

三道墙,其实是同一道:你带着 Excel 的直觉走进了 PQ。

二、逻辑断层 · 「动手」与「写说明书」

这是最关键的一跳。Excel 教你的直觉是「我在操作数据」;PQ 要你换成的直觉是「我在描述一段处理流程」。

Excel · 操作员

手动改一步

才看到结果

不够好,再改一步

结果只有你知道是怎么来的

每一步都靠你亲手做

PQ · 流程设计师

写下步骤 1 … N

步骤自动产出结果

换个人点刷新,一模一样

说明书本身,就是可交接的资产

你只设计一次,之后自动跑

Excel 你在动手,PQ 你在写说明书 —— 说明书写完,谁点刷新都能复现。

用一句话记:Excel 你在动手,PQ 你在写说明书。说明书写完,谁点一下刷新都能复现,这才是它值钱的地方。

三、三语同构:同一种逻辑,三种写法

你感觉「PQ 和 Python 逻辑一模一样」,这个直觉非常准。它们共享同一套底层特征——只是 PQ 把它换成了按钮。

概念 Excel / WPS Python Power Query

操作单位 单元格 A1 整列 df['A'] 整列 [A]

一段运算 =A1+B1 下拉一千行 df.A + df.B [A] + [B]

复用方式 复制公式 def 函数 自定义函数 · 参数化查询

执行时机 打开就算 运行时算 刷新时才算(惰性)

数据可变性 单元格被反复改写 变量可被重新赋值 每步生成新表 · 不可变

看懂最后两行,就懂 PQ 为什么「像编程」了——它只是把代码换成了按钮。

四、两个同源证据:为什么说它们是一家人

证据 01 · 列操作(向量化)

Excel 的做法:写一格 =A1+B1,然后往下拖一千行 —— 你在一格一格地填

Python / PQ 的做法:写一次 [A] + [B],整列同时算完 —— 你在描述一整列

不是在「填格子」,而是在「描述一整列」

列操作

证据 02 · 不可变(每步都是新表)

Excel 的做法:同一个单元格被反复改写,改坏了只能撤销有限的几步

PQ 的做法:每一步都产出一张新表,上一张原封不动地留着

删掉那一步就回到从前 —— 白送的「无限撤销」

不可变

这两点,就是 PQ 与 Python 血缘关系的证明 —— 不是像,是同一套底层逻辑。

五、结构断层 · 把数据搬进来,还是把管道接过去?

Excel 的世界观是:一个工作簿 = 一个世界。所以跨表只能靠 VLOOKUP、靠复制粘贴、靠手工把 ERP 导出的表再合并一遍。数据一多就卡,来源一散就乱——Excel 被迫当了「仓库」,而不是「工具」。

Excel · 一个文件装世界

跨表靠 VLOOKUP,靠手工粘贴

全量数据都塞进这一个文件

数据一多就卡,公式难维护

版本越改越乱,谁都不敢动

换个数据来源,就得重新搬一遍

一次性重体力活

PQ · 一条管道连世界

源头在哪不重要,接上就行

源文件只读,永远不会被改写

追加 = UNION · 合并 = JOIN

数据再多,也不用搬进一个文件

结果表按需输出

一次性设计活

搬进来,是一次性的重体力活;接管道,是一次性的设计活。

六、管道思维:源不搬家,只被读一遍

PQ 的世界观是:一个查询 = 一条管道。源头在哪根本不重要:数据库、文件夹、网页、API、PDF、另一张表,都是同一种「水源」。

源头

数据库 · 文件夹 · 网页

API · PDF · 另一张表

追加查询 ≈ UNION

把多张结构相同的表纵向堆成一张

12 个月的月报 → 一张全年表

+

合并查询 ≈ JOIN

两张表按关键字段横向对起来

订单表 + 客户表 → 带客户名的订单

=

结果表

按需输出

一路带到下游

源文件只读:PQ 只读、不写源 —— 这一步,保住了所有人的安全感。

跨表不再靠粘贴,而是靠追加查询(≈ UNION)和合并查询(≈ JOIN);源文件不搬家,只被「读」一遍——ERP 里的数据本来就在库里,直连即可,省掉「导出 → 合并 → 再算」三道手工工序。

七、零成本落点:省掉的不是时间,是工序

旧路 · 手工搬运

ERP 导出 Excel → 手工合并粘贴 → 再算一遍 → 下个月,重做一遍

PQ 路 · 因粮于敌

ERP 直连 → 清洗规则 → 输出结果表 → 以后刷新即得

同一条路,旧路每次都重走,PQ 路只走一次 —— 这就是「因粮于敌」的现代表达。这一条对中小企业尤其值钱:它把人力从「数据搬运」里彻底解放出来,零成本 / 负成本的落点就在这里。

ERP 的数据本来就在库里 —— 直连即可,何必导出再搬?

八、交互断层:载体像 Excel,语义却完全不同

这一条最容易被新人忽略、也最容易造成事故。因为 PQ 长在 Excel 上、按钮长得像 Excel,新人会本能地用 Excel 语义去理解它。

视图层 · 你怎么看

Excel 的筛选、排序、隐藏,改变的只是「呈现方式」

数据一行都没少,只是暂时不显示

复制出去、做透视、求和 —— 仍然是全部行

VIEW LAYER

数据层 · 数据是什么

PQ 的筛选、删除列、替换值,直接改变「数据本身」

结果被写进输出表,一路带到下游

下游拿到的,就是被改造过后的数据

DATA LAYER

同一句「筛选」,在两层里,是完全不同的两个动作。

九、筛选真相:筛掉的行,是真的走了

最能说明问题的例子就是「筛选」。同一个动作,在两层里的后果完全不同。

Excel:数据还在,只是藏了

源数据:6 行

筛选后「看到」的结果:3 行亮着、3 行以虚线隐藏

复制、透视、求和 → 仍是 6 行

虚线 = 被隐藏,行还在表里

PQ:筛选后,它真的没了

源数据:6 行

PQ 输出的结果:只剩 3 行

下游拿到的,就是这 3 行

源文件没被动过:PQ 只读,不写源

筛掉的就真的没了

Excel 筛选动的是「你怎么看」,PQ 筛选动的是「数据是什么」。

十、六个误区,来自同一个错觉

看清上面那张对比,就能顺手把一个高频误区清单讲透——这六条几乎每个新手都会踩,而且全部源于「载体像 Excel」这一个错觉。

# 新手的 Excel 直觉 PQ 的真相 课堂上这样说

1 筛选是「临时看看」 筛选是永久删除,写进输出结果 想临时看,就留在 Excel 里筛

2 我是不是把数据改坏了 源文件毫发无伤,PQ 只读不改 这是福利,不是风险

3 跨表匹配 = VLOOKUP 用「合并查询」,本质就是 JOIN 先忘记 VLOOKUP 的写法

4 改了源,PQ 自己会变 必须刷新,也可以定时刷新 惰性求值:不算不算,一刷全算

5 步骤越多越厉害 步骤是给三个月后的自己看的 命名、分组、能折叠就折叠

6 得先学会 M 语言 先用按钮跑通,再回头看代码 高级编辑器是翻译器,不是教材

六条坑,根子是同一个:你以为 PQ 是 Excel 的高级版。

十一、爽点时刻:原来我一直在写代码

第 6 条特别值得在课里埋一个「爽点」。用按钮筛一次,再打开高级编辑器——学员会瞬间明白「原来我一直在写代码,只是我不认识它」。

= Table.SelectRows(源, each [类别] = "A")

这就是你刚才点的那个「筛选」按钮背后的全部代码。你并没有「不会编程」—— 你只是一直在用不认识的写法编程。

高级编辑器不是教材,是「翻译器」—— 把按钮翻译成代码给你看。

十二、学习路径:四阶阶梯

既然是「快学」,路径就不能按功能清单铺,必须按成就感节奏铺——每一阶都拿出一件能拿去上班用的东西。

第 0 阶

约 15 分钟

导入 → 洗 → 加载:先把一条最完整的链路走通,建立「我也能做到」的初体验

第 1 阶

半天

单表清洗:首行提升、改类型——这是每天都会用到的基本功

第 2 阶

1 到 2 天

多表合并:追加 = UNION、合并 = JOIN——跨表从此不再靠粘贴

第 3 阶

3 到 5 天

参数化查询 · 自定义函数:把重复动作封装,一次配置,反复复用

先用笨办法把事跑通,再想优化 —— 宁拙速,不巧久。

十三、加速器与六讲课程序列

这套路径有个加速器:每点一个按钮,就追问一句「这在 Python 里长什么样?」——用已经会的语言去锚定新工具,比从零建立概念快得多。

分组

≈ groupby

按字段分组再聚合,与 pandas 的 groupby 一一对应。

合并查询

≈ merge

按关键字段横向对齐,就是 DataFrame 的 merge。

自定义列

≈ 赋值新列

新增一列的运算,等价于 df['新列'] = ...

学员一旦能自己说出「分组 ≈ groupby」「合并查询 ≈ merge」「自定义列 ≈ df['新列'] = ...」,PQ 就不再是黑箱了。

如果做成系列内容/课程,选题建议按「认知断层的顺序」排,而不是按功能菜单排:

01 换挡

PQ 不是高级 Excel —— 砸碎「操作数据」的墙,换成「描述流程」

02 筛选真相

你以为是看看,其实是删掉 —— 砸碎「视图层」的墙

03 管道思维

不搬数据,只接管道 —— 砸碎「一个文件装世界」的墙

04 合并查询

等于 JOIN —— 从 VLOOKUP 到关系型思维

05 偷看代码

认识第一行 M —— 从「点按钮」到「看得懂代码」

06 一次做好

刷新即得,交付闭环 —— 从「每次重做」到「刷新即得」

首讲钩子建议用一个对照演示:同一件事(两表匹配汇总),Excel 现场做 10 分钟且下次还要重做,PQ 现场做 30 秒且以后每次 1 秒。让学员亲眼看见差距,比讲十页原理都管用。

三句话带走

① 逻辑断层

·

Excel 你在动手,PQ 你在写说明书 —— 同源证据是「列操作」与「不可变」,这两点就是它和 Python 的血缘证明

② 结构断层

·

Excel 一个文件装下一个世界,PQ 用一条管道连接所有世界 —— ERP 直连、不做数据搬运工,这就是零成本的落点

③ 交互断层

·

Excel 筛选动的是「你怎么看」,PQ 筛选动的是「数据是什么」—— 这一条最该在课里反复砸

PQ 不难,难在它长在 Excel 里,却不说 Excel 的话。

忘掉 Excel 的直觉,PQ 就只是按钮版的 Python

分享这篇文章

把数魔方的方法论,分享给需要的人

🔗 复制链接

已复制 ✓

微信分享方法:

① 用微信「扫一扫」识别二维码打开本文;

② 点右上角「···」→「分享到朋友圈」或「发送给朋友」;

③ 或长按保存二维码,发到群里/朋友圈即可。

数魔方方法论系列

①数字化,不假外求——敏捷数字化的精神内核(心学)

②中小企业搭建数字化平台的敏捷路线(路线)

③求之于势,不责于人——用兵法思维看敏捷数字化(兵法 · 造势)

④兵众孰强,士卒孰练——数字化时代的胜负手(兵法 · 练兵)

⑤兵贵速,不贵久——数字化最大的成本是时间(兵法 · 作战)

⑥因粮于敌——数字化的最高境界是负成本(兵法 · 粮草)

⑦一块看板,看清一家公司——数魔方经营仪表盘全拆解(实战 · 仪表盘 · 上篇)

⑧从看清到算赢——经营分析仪表盘 27 页全拆解(实战 · 仪表盘 · 下篇)

⑨上手一周,回本一月——PQ 自动化的低门槛高收益账(实战 · 收益账)

⑩自足,源于提升——练兵、分利与双赢(兵法 · 合题)

⑪易学易用——用 PBI 建数据模型,比你想象的近(实战 · 方法论)

⑫破冰——万事开头难,难的不在 PQ,在开头(破冰 · 知行合一)

⑬换挡——学 PQ 最快的方式,是先忘掉 Excel 的直觉(换挡 · 认知断层)

© 2026 数&魔方 · 数魔方 · tesseract_num

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