当前位置:首页>Excel>EXCEL 封神之路(进阶补充篇)

EXCEL 封神之路(进阶补充篇)

  • 2026-08-15 18:11:03
EXCEL 封神之路(进阶补充篇)

「前言」:进阶篇 封神之路!VLOOKUP的边界、二分查找、O(1)级别提速,答案都在这12个通俗释义中。

在 XLOOKUP 已经普及的今天,为什么 INDEX+MATCH 依然被称为 Excel 查找函数中不可替代的“黄金组合”?

今天我们不玩那种“照着公式抄”的速成套路,而是深挖底层逻辑,讲讲这组被无数办公老手奉为圭臬的黄金搭档——MATCH + INDEX。学通这套组合,你收获的将不仅是两个函数,更是一种让你在复杂数据处理中游刃有余的“解耦”思维。
在开始之前,我们必须坦诚地修正一些网络教程中的误区:VLOOKUP 并非有“缺陷”,而是有“设计边界”;MATCH 也不永远是“0”,它的“1”和“-1”模式有极其苛刻的前提。我们一步步来拆解。

一、溯源:VLOOKUP 的“单向车道”,究竟是设计缺陷还是边界?

我们拿这个经典的报表来举例:
· A列:客户ID(K001, K002...) · B列:公司全称(昊天旅行社, 星辰数据...)
领导要你根据 B 列的“昊天旅行社”,查出 A 列对应的 ID。如果你用 =VLOOKUP("昊天旅行社", A:B, 1, 0),屏幕立刻会给你一个大大的#N/A。
面对这个错误,很多教程会大骂 VLOOKUP 是个“废柴”。但这个评价对它是不公平的。VLOOKUP 的底层逻辑,是一条设计精良的“单向车道”。它的初衷是为了解决“用主键(订单号/身份证号)去快速提取右侧相关属性(客户名/地址)”这个最常见的工作场景。这不是它“生病了”,而是它“术业有专攻”,它的物理极限就是不能向左边看。
职场启示:当你撞上 VLOOKUP 的车道极限时,我们要换一辆“全地形越野车”:把“找位置”和“取数据”这两个动作彻底拆开(解耦),各干各的。

二、拆解:MATCH 定位器与 INDEX 取货员

🧭 第一枚棋子:MATCH 定位器

定义:它只负责在单列(或单行)中,找到你想要的“目标值”排在第几行。它只输出一个数字(行号)。
语法: =MATCH(你想找谁, 在哪个单列里找, 匹配模式)
· 匹配模式 0(精确匹配): 在 90% 以上的业务场景下,你必须用 0。不需要提前排序,支持通配符,建议大家把 0 养成肌肉记忆。
 · 匹配模式 1(升序近似匹配): 查找“小于等于目标值的最大值”。查找列必须严格按从小到大升序排列,否则结果错乱。 · 匹配模式 -1(降序近似匹配): 查找“大于或等于目标值的最小值”。查找列必须严格按从大到小降序排列,算法会智能地帮你挑选满足条件中最贴切的那一个。 · 绝对禁忌: 查找区域必须是单列(如 B2:B100),绝不可以写成多列(如 A:B)。

🚚 第二枚棋子:INDEX 取货员

定义:它只认坐标。通过你给它的“行号”和“列号”,在指定区域里精准定位到那个格子的值。
语法: =INDEX(去哪个区域拿, 第几行, [第几列])
核心精讲:若要精准返回多行多列区域(如 A2:E100)中某个交叉点的单个值,行号和列号必须同时提供!比如 =INDEX(A2:E100, 8, 3),代表锁定该区域第 8 行、第 3 列的值。(注:若区域本身只有单列或单行,则可省略对应的列号或行号参数)。正因为行号和列号可以任意指定,INDEX 才能突破左右限制。

三、终极合体:MATCH+INDEX 的“原子级”协作与解耦闭环

我们刚才把 MATCH 和 INDEX 分别称作“侦察兵”和“取货员”。现在,我们要把这两个独立的系统整合成一条工业流水线。这是全篇的“定海神针”,理解透这一层,后续的9个案例你就能秒懂。

01 双核协同:从“单兵作战”到“系统联调”

我们来看这个令人热血沸腾的完美原型公式: =INDEX(结果列区域, MATCH(你查什么, 查找列区域, 0))
在这个公式里,MATCH 不再是孤立的存在,它变成了一个动态的行号生成器,而 INDEX 则是一个接收动态指令的执行者。公式的执行顺序,严格遵循“由内向外”的法则,就像剥洋葱。计算机引擎首先会执行最内层的 MATCH 函数,得出一个整数(比如 3)。这个数字 3 不会停留在原地,它会作为参数,精准地“投递”给外层的 INDEX 函数,最终 INDEX 拿着这个“3”作为行号,去取回目标数据。

02 数据流转的“工业流水线”

为了更直观地展现内部运转,我们把数据流拆解成 3 个严丝合缝的步骤:
第一步(输入指令): MATCH 接收到你的查找要求,在“查找列区域”(例如 B 列)中开始寻找。
第二步(坐标产出):找到目标值后,MATCH 锁定它的“相对行号”(比如第 3 行),并输出数字 3。
第三步(精准取货):外面的 INDEX 拿到数字 3,将它直接作为“行号”参数,前往你指定的“结果列区域”(例如 A 列),精准锁定了 A 列的第 3 个单元格,取出对应的值。
核心洞察:这个过程的巧妙之处在于,MATCH 和 INDEX 的数据交接点是 “行号”,而不是单元格中的文字或数字。正因为交投的是纯数字坐标,两者之间才没有任何“耦合”,完全不受左右方向的限制。

03 参数解构:一个数字如何让两个函数严丝合缝

很多初学者在使用组合时容易出错,往往是因为对 INDEX 的两个关键参数认识不足。我们进一步拆解:
关于“查找列区域”: 匹配模式使用 0(精确匹配)是 90% 场景下的首选,因为这不需要提前对数据做任何排序。如果省略 0,Excel 就会默认采用近似匹配(匹配模式 1),只要数据没有排序,就会产生可怕的静默错误。因此,强烈建议大家在写 MATCH 时,永远不要省略最后的 ,0,即使你觉得默认没毛病也要把它打上去。
关于“结果列区域”: 它的核心绝活在于可以与“查找列区域”完全无关。比如,你的“查找列”可以在 C 列,你的“结果列”可以在 A 列,甚至在不同的工作表里。这正是解耦思维最直观的体现——查找和取值,各管各的,无需捆绑。

04 颠覆性优势:解耦带来的“降维打击”

为什么市场上出现了 XLOOKUP 后,这个组合仍然不可替代?
因为它提供了一种“可编排”的高阶能力。
对比 VLOOKUP(耦合模型): VLOOKUP 把“找在哪一列”和“取哪一列”捆绑在一个函数里。如果你在表格中间插入了一列,VLOOKUP 的列序号参数就会错乱,导致整个公式失效,你需要手动去修改那个数字。
对比 MATCH+INDEX(解耦模型): 因为 MATCH 负责定行,INDEX 负责定列。如果在表格中插入了新列,INDEX 所指向的“结果列区域”(比如 C:C 变成 D:D)只需要物理调整,或者通过 COLUMN 函数实现动态偏移(也就是我们后文案例 5 要讲的绝招),公式本身根本不需要重写。
价值升华:掌控这种能力,意味着你不再是一个死记硬背的公式搬运工,而是一个能够搭建数据检索系统的架构师

05 实战热身:两个案例提前预演

不要觉得公式复杂,它其实很好用。
【预热案例】用员工姓名查找电话
公式: =INDEX(电话列区域, MATCH(员工姓名, 姓名列区域, 0))
解析: MATCH 在姓名列里找到“张三”位于第 8 个位置,返回数字 8;INDEX 拿着数字 8,去电话列里取出第 8 个单元格的数字。此时查找方向是“右边”,毫无压力。
【预热案例】逆向查找(提前揭秘)
公式: =INDEX(左边的 ID 列, MATCH("昊天旅行社", 右边的公司列, 0))
解析: MATCH 依旧在右边跑,找到位置返回给 INDEX,INDEX 立刻跑到左边把 ID 取出来。VLOOKUP 永远做不到的事,在这里就是家常便饭。
掌握了上述的“解耦”逻辑后,接下来的 9 个深度实战案例(从入门到进阶),就不再是复杂的嵌套公式,而是我们运用这套底层逻辑去解决业务问题的过程了。

四、案例重头戏:9个深度实战案例(从入门到进阶)

📍 案例1:【最硬核逆向】用公司名查左边的ID

公式: =INDEX(A
A100, MATCH("星辰数据有限公司", B2:B100, 0))
深度剖析: MATCH 在 B2:B100 里找到“星辰数据”的相对位置(比如排在第3行),返回数字 3。INDEX 拿着 3,在 A
A100 里取第 3 个单元格的值,完美绕开向左限制。注意这里两个区域的行数必须一致,起止行严格对齐,否则取到的就是张冠李戴的结果。

📍 案例2:【跨列扩展】用姓名查右侧的电话

公式: =INDEX(C2:C100, MATCH("张三", A2:A100, 0))
深度剖析: MATCH 在 A 列找人,INDEX 去 C 列取电话。两个列看似各干各的,但因为行号是对应的,结果丝滑无误。这说明 MATCH+INDEX 根本不依赖左右顺序,想取哪列取哪列。

📍 案例3:【模糊搜索】只记得公司名字有“旅行社”

公式: =INDEX(A2:A100, MATCH("*旅行社*", B2:B100, 0))
深度剖析:只有在匹配模式是 0 时才支持 * 通配符。*旅行社* 不仅能匹配到“昊天旅行社”,还能匹配到“北京昊天旅行社有限公司”等一切名字里包含“旅行社”字样的公司,查到了就返回它在 B2:B100 里的相对位置。

📍 案例4:【升序区间分段】销售提成计算

场景: 0-1万提成5%,1-3万提成10%,3万以上15%。员工销售额 2.5万。
预备工作:把 0, 10000, 30000 列出来,严格升序排列。
公式=INDEX({"5%";"10%";"15%"}, MATCH(25000, {0;10000;30000}, 1))
深度剖析:用模式 1 找“小于等于 25000 的最大值”,即 10000,处于第 2 个位置,INDEX 取出 "10%"。这就是典型的区间匹配,考勤、绩效、税率计算里天天用。

📍 案例5:【一网打尽】批量拖拽提取整行

公式: =INDEX($A$2$E$100, MATCH($G2, $B$2$B$100, 0), COLUMN(A1))
深度剖析向右拖拽时,COLUMN(A1) 自动变为 2、3、4……使 INDEX 的“列号”动态变化。一次写完,整行提取,从此告别手动改参数。注意 $ 符的锁定规则:查找值锁定列($G2\(G2),查找区域锁定行和列(\)$B$
$B$100\(100),数据源区域全部锁定(\)$A$2$E$100)。

📍 案例6:【跨表联动】跨工作表取数

公式: =INDEX(基础数据!$A$2$A$1000, MATCH(当前表!A2, 基础数据!$C$2$C$1000, 0))
深度剖析:因为 MATCH 和 INDEX 的坐标完全独立,你可以在“基础数据”表的 C 列定位,然后去 A 列取数。这种跨表、跨列的自由度,是 VLOOKUP 跨表时容易因列序变动而报错所不具备的。(注意:这里特意将范围限定在 A
A1000 并加上绝对引用符号 $ 锁定,既呼应后文性能优化中的“坑点1”坚决避免使用整列引用卡死表格,又防止公式向下拖拽时跨表区域发生错位偏移。)

📍 案例7:【条件叠加】复合条件定位(布尔逻辑乘法)

场景:根据“部门”和“职位”同时查找某人的工号。
公式: =INDEX(C2:C1000, MATCH(1, (A2:A1000="销售部")*(B2:B1000="经理"), 0))
深度剖析:这是多条件查找的底层逻辑。两个条件判断分别产生一串 TRUE/FALSE,相乘后,只有同时为 TRUE 的位置才会变成 1,其余全是 0。MATCH 去检索数字 1 的位置,一击命中。
版本差异:如果你用的是 Excel 365 或 Excel 2021,直接回车就行,Excel 会自动识别为数组运算。如果是 Excel 2019 及更早版本,输完公式后必须按 Ctrl+Shift+Enter,公式两边会出现花括号 {},说明它已作为传统数组公式工作。
性能提醒:公式里的区域务必根据实际数据量限定范围(如 A2:A1000),不要用 A:A 这种整列引用,否则每次计算都要扫描 104 万行,几十个公式下去表格直接卡死。

📍 案例8:【降序规格匹配】设备容量选择(-1 模式实战)

场景:车间需要功率 600W 的电源,仓库现有电源规格按降序排列:{1000W, 800W, 500W, 200W}。
公式: =INDEX(AA5, MATCH
深度剖析: -1 模式在降序数组中查找“大于或等于目标值的最小值”。此处 ≥600 的候选规格为 1000 和 800,最小者为 800W。因此 MATCH 会返回第 2 个位置,INDEX 正确取出 "800W"。这天然实现了“选最能覆盖需求的最小冗余规格”。若需求恰好是 500W,≥500 的候选为 1000、800、500,最小者是 500W,MATCH 返回位置 3,公式返回 "500W"。
业务映射:算法会智能跳过冗余的大规格,直达最贴切的选型档位,这正是工程上“既满足需求又不浪费成本”的精准选型逻辑。(注:此处的算法严格遵循微软官方文档定义,在降序排列的数组中查找满足条件的“最小值”,而非简单的线性“找到即停”扫描。

📍 案例9:【动态数组溢出】一次查回多列数据(Excel 365 专属)

场景:输入员工姓名,想一次性把他的工号、部门、电话全查出来,不用拖拽公式。
公式: =INDEX(BD100, MATCH(F2, AA100, 0), {1,2,3})
深度剖析:在 Excel 365 中,利用 {1,2,3} 数组作为 INDEX 的列号参数,公式会自动向右“溢出”三个结果。这比传统拖拽更稳健,也不会因为中间插入空白列而断链。这个功能是 365 的动态数组引擎带来的,老版本不支持这种自动溢出,需要手动选中三个单元格再按三键。

五、致命陷阱:高手的避坑指南(必

🕳️ 陷阱1:区域必须“刀切”对齐

错误写法:
=INDEX(A:A, MATCH("昊天", BB100, 0))
致命伤: MATCH 返回的是在 B
B100 里的相对位置(比如“昊天”在 B
B100 的第 3 行),但 INDEX 拿着这个 3 去整列 A 里取第 3 行——也就是 A3。如果数据是从第 2 行开始的,这个结果就错位了一行。
正确写法:
两个区域的起点和终点必须一模一样! =INDEX(AA100, MATCH("昊天", BB100, 0))。这样 MATCH 返回的相对位置 3,刚好对应 AA100 里的第 3 个单元格(即 A4),数据严丝合缝。

🕳️ 陷阱2:MATCH 只能找“单行或单列”

致命伤:给多列区域(如 A:B),MATCH 直接罢工报错#N/A。它不知道你要在哪一列里找,必须明确指定单列。

🕳️ 陷阱3:千万别省逗号和参数

致命伤:省略第三个参数,Excel 默认是 1(近似匹配)。如果你没把数据升序排好,它能给你找到一个“看起来像”但“逻辑全错”的位置。写 MATCH,永远不要省略后面的 ,0,除非你非常清楚自己在用二分查找做什么。

六、性能优化:让表格在万行数据下依然快如闪电(实战避坑指南)

当你的数据量从几十行涨到几万、几十万行时,如果还按小表格的方式写公式,你的 Excel 可能会卡到“未响应”。这里给你 3 条能让公式“起飞”的核心避坑指南:

🚀 坑点1:不要使用整列引用(A:A),限定最小范围

很多新手为了省事,喜欢写 MATCH(目标, A:A, 0)。Excel 会老老实实扫描 A 列里整整 104 万个空白单元格。
正确做法:
写成 MATCH(目标, AA1000, 0),或者更高级的,把数据转化为“超级表”(选中数据按 Ctrl+T),然后用表名引用(如 表1[姓名])。超级表的好处是,当你新增数据时,范围自动扩展,公式不用手动改。
效果:数据越多,性能提升越明显,表格重算时间能提升 10 倍以上。

🚀 坑点2:优先使用排序数据与模式“1”的“跳跃式查找”

在之前的案例中,我们提到了匹配模式 1 和 -1。很多人觉得 “0 最好用”,事实并非如此。
模式 0(线性查找): 就像派侦察兵挨个从名单第一行扫描到最后一行。数据有 10 万行,它最坏就要比 10 万次。这叫“线性搜索”,时间复杂度是 O(n)。
模式 1(二分查找): 前提是你的查找列已经严格从小到大或从大到小排好序了。此时 Excel 会采用“二分查找”法——它不挨个看,而是直接跳到名单中间比大小,如果目标更大就砍掉左半截,更小就砍掉右半截,每次砍一半。这叫“折半搜索”。
效果:在 10 万行数据里找一个人,普通模式可能耗时 2 秒,二分查找只需 0.02 秒。因为 10 万行只需要大约 17 次比较(log₂(100000) ≈ 17),而不是 10 万次。
⚠️ 致命红线警告: 前提必须是排序好了! 如果没有排序却用了模式 1,Excel 二分查找的“砍半”逻辑会砍错方向,不仅算得快,而且会给你一个非常快但完全错误的结果。这比卡顿更可怕——卡顿你还能发现,静默错误你连知道都不知道。

🚀 坑点3:【解耦终极提速】只派一次侦察兵,记下坐标反复取货

前面我们说过,MATCH 是出动“侦察兵”到处搜索,INDEX 是“取货员”。
笨办法:如果你要查一个员工的工号、电话、部门、工资、绩效等 10 个指标,分别写了 10 个 INDEX + MATCH。你相当于派了 10 次侦察兵跑遍整个公司去找这个人,每次都是一次 O(n) 的搜索。表格会被拖累死。
高手的做法:你在旁边找一个空白辅助单元格(比如 H1,命名为“定位坐标”),只写一次 =MATCH(员工姓名, 名单, 0)。坐标算出来是第 88 行。
效果:后面 10 个提取数据的公式,全部改为 =INDEX(工号列, $H$1)。此时这 10 个公式完全不需要搜索,INDEX 直接根据行号做内存寻址——这叫 O(1) 级别速度,就是不管数据多大,取数时间都一样短,一瞬间全部出结果。
原理:将一次 MATCH 的结果存储在辅助单元格中,后续所有检索均基于该索引使用 INDEX 提取。这能将 N 次 O(n) 的检索降低为 1 次 O(n) 加上 N-1 次 O(1) 的直接提取。表格重算时,只有那个 MATCH 公式需要重新搜索,其余全是瞬间定位。
⚠️ 警告: 那个存坐标的辅助单元格里必须保留 =MATCH(...) 的公式,千万不能把算出来的 88 手工粘贴成纯数字!因为如果名单里插入了新行,公式会自动更新成 89,而你手写的 88 会神不知鬼不觉地取错数据。这种错误比公式报错可怕一百倍,因为它不声不响,等你发现的时候报表已经错了三天了。

写在最后:从“抄公式”到“懂逻辑”

如果你使用最新的 Office 365,可能会问:“老师,现在有 XLOOKUP,左边右边都能查,多条件、容错全都有,我何必费劲背这个双层嵌套?”
我的回答依然是:必须学,且必须学透。
因为 XLOOKUP 依然是一个“封装好的成品工具”。它把“找位置”和“取数据”这两步打包成了一个黑箱,好用吗?太好用了。日常简单查找用它完全没问题,效率更高。
 MATCH + INDEX 教给你的是“拆解与解耦”的工程思维。它把“定位”和“取数”彻底分开,让你可以单独操控“位置”这个中间变量。当你以后遇到这些场景——
· 一个位置查出来后要反复取几十列数据 · 多条件动态求和时需要灵活指定行列交叉点 · 跨工作簿动态提取且查找列和返回列不在同一张表 · 逆序或乱序数据无法改变结构时的清洗匹配
——这个“解耦”的思路能让你立刻知道该用什么拆解、怎么组合,而不仅仅是套用单薄的固定公式。
Excel 的世界,不是无脑照抄,而是逻辑的推演。 今天理解了“定位器”和“取货员”的协作,你不仅掌握了一项办公技巧,更掌握了一种让自己在复杂信息中依然能精准定位、毫无偏差的职场底气。

附录:核心术语通俗释义

最新文章

随机文章

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