乐于分享
好东西不私藏

OpenClaw 多 Agent 通信机制:一个 Agent 如何指挥一支 AI 包工队

OpenClaw 多 Agent 通信机制:一个 Agent 如何指挥一支 AI 包工队

一句话摘要:OpenClaw 通过基于 Session 的消息传递系统实现多 Agent 协作——如果说传统的单 Agent 是独自搬砖的工人,OpenClaw 的多 Agent 就是一个自带对讲机和施工图的包工队。


1. 概述

1.1 什么是 OpenClaw 多 Agent 通信?

凌晨两点,你的 AI Agent 正在帮你分析一份 300 页的技术报告。你满怀期待地等着结果,结果它卡在第 47 页——因为它需要同时搜索互联网、查询内部知识库、还要跑一段代码验证数据。一个 Agent 做三件事,就像一个人同时切菜、炒菜、洗碗——理论上可行,实际上盘子摔了一地。

OpenClaw 的多 Agent 通信机制就是为了解决这个问题而生的。它允许一个 Agent(主 Agent)将任务拆分并派发给多个子 Agent 并行执行,每个子 Agent 在独立的 Session 中运行,完成后自动将结果汇报回来。整个过程是推送式(push-based)的——子 Agent 做完了自己来报告,主 Agent 不需要反复追问"做完了没?"。

你可以把它想象成一个项目经理(主 Agent)和几个工程师(子 Agent)的协作模式:经理把任务分配下去,每个工程师独立干活,干完了在群里发个汇报消息,经理汇总后给客户交付。高效、有序、互不干扰。

💡 人话翻译:一个 Agent 把活分给几个子 Agent 同时干,干完自动汇报,老板不用催。

1.2 解决了什么问题?

在多 Agent 通信出现之前,世界是这样的:

  • • 单 Agent 串行执行复杂任务,10 分钟能搞定的事要等 30 分钟
  • • 长任务占满 Agent 的上下文窗口,后面的回答质量直线下降
  • • Agent 遇到需要不同"技能"的子任务时,只能笨拙地在同一个上下文中切换角色

然后,OpenClaw 的  带着它的 Session 隔离 + 自动汇报机制出现了——

它让主 Agent 可以在 1 秒内派出多个子 Agent 并行工作,每个子 Agent 拥有独立的上下文、独立的工具权限、甚至可以使用不同的 AI 模型。任务完成后,结果自动推送回主 Agent,无需轮询。

1.3 核心优势

优势
说明
趣味类比
并行执行
多个子 Agent 同时工作,互不阻塞
相当于从串行流水线升级成并行车间
Session 隔离
每个子 Agent 有独立的会话和上下文
每个工程师有自己的独立工位,互不干扰
推送式汇报
子 Agent 完成后自动通知主 Agent,无需轮询
干完了微信群里吼一声,老板不用挨个问
嵌套编排
支持子 Agent 再派子 Agent,形成编排树
项目经理→组长→组员的三级管理结构

2. 核心概念

🗺️ 进入正题之前,先装备好这些概念——否则后面的内容会像没有字幕的外语电影。

2.1 Session(会话)

定义:Session 是 OpenClaw 中 Agent 运行的基本单元,每个 Session 有唯一的 Session Key,包含独立的聊天历史、路由状态和工具权限。

直觉:你可以把 Session 想象成一个独立的聊天窗口——每个窗口有自己的对话记录和权限设置。

示例:主 Agent 运行在 agent:main:main Session 中,当它 spawn 一个子 Agent 时,会创建一个新的 Session agent:main:subagent:<uuid>

2.2 Announce(结果汇报)

定义:Announce 是子 Agent 完成任务后,将执行结果推送回父 Agent 的机制。它是推送式(push-based)的,父 Agent 不需要主动轮询。

直觉:类似于工作完成后自动发送的邮件通知——你不需要每隔 5 分钟刷一次收件箱。

示例:子 Agent 完成数据分析后,Announce 步骤会将分析结果、运行时长、Token 消耗等信息打包成一条消息,注入到父 Agent 的 Session 中。

2.3 Lane(执行队列)

定义:Lane 是 OpenClaw 用于控制并发的队列机制。子 Agent 运行在专用的 subagent Lane 中,默认并发上限为 8。

直觉:Lane 就像高速公路的车道——subagent 车道最多同时跑 8 辆车,防止一个 Agent 把整个系统堵死。

示例:当主 Agent 同时 spawn 了 10 个子 Agent,前 8 个立即开始执行,后 2 个在队列中排队等待。

2.4 术语表

术语
英文
一句话定义
助记
sessions_spawn
Sessions Spawn
派生一个独立的子 Agent Session 执行任务
spawn = 孵化,孵出一个小 Agent
sessions_send
Sessions Send
向一个已存在的 Session 发送消息
send = 发消息,给已有的 Agent 发消息
Announce
Announce
子 Agent 完成后自动汇报结果给父 Agent
announce = 播报,任务做完了播报一下
A2A
Agent-to-Agent
Agent 之间的直接消息传递协议
Agent 间的对讲机
ACP
Agent Client Protocol
连接外部编码工具(Codex/Claude Code)的协议
外部工具链的接口

3. 架构设计

🏗️ 本节拆开引擎盖,看看 OpenClaw 多 Agent 通信内部长什么样。

3.0 技术栈一览

组件
技术
说明
⚡ 运行时
Node.js + TypeScript
Agent 运行引擎
🌐 网关
WebSocket Gateway
消息路由与 Session 管理
🗄️ 会话存储
文件系统 + 内存
Session 持久化与快照
📨 消息队列
内置 Lane 队列
并发控制与任务调度
🔒 访问控制
AgentToAgent Policy
Agent 间通信权限管理

3.1 整体架构

OpenClaw 的多 Agent 通信架构遵循中心化路由 + 去中心化执行的设计哲学:所有消息通过 Gateway 路由,但每个 Agent 在自己的 Session 中独立执行。

图 1:OpenClaw 多 Agent 通信整体架构——从用户请求到多 Agent 并行执行再到结果汇报

图中关键路径解读:

  1. 1. 用户请求路径 → 用户消息经 Gateway 路由到主 Agent
  2. 2. 任务派发路径 → 主 Agent 通过 sessions_spawn 创建子 Agent Session
  3. 3. 结果回传路径 → 子 Agent 完成后通过 Announce 机制自动推送结果
  4. 4. 并发控制 → 所有子 Agent 运行通过 Lane Queue 控制并发

🔍 架构设计的精妙之处:Announce 机制采用了"先尝试直接投递→失败则入队列"的两阶段分发策略(subagent-announce-dispatch.ts),在保证可靠性的同时最小化延迟。


4. 三种通信机制详解

⚙️ OpenClaw 提供了三种 Agent 间通信方式,各有适用场景。选错了方式就像用锤子拧螺丝——能拧,但效率堪忧。

4.1 机制一:sessions_spawn — 派生子 Agent(主要方式)

sessions_spawn 是最核心的工作指派方式。主 Agent 调用它创建一个全新的、独立的子 Agent Session 来执行特定任务。

LR

图 2:sessions_spawn 工作流程——从任务派发到结果自动推送

核心参数说明:

参数
必填
说明
示例
task
给子 Agent 的任务描述
"分析 Q3 销售数据并生成报告"
agentId
目标 Agent ID,可跨 Agent 派生
"coding"
runtime
运行时类型,默认 subagent
"subagent"
 或 "acp"
mode
运行模式
"run"
(一次性)或 "session"(持久化)
model
覆盖子 Agent 使用的模型
"anthropic/claude-sonnet-4-6"
thinking
覆盖思考级别
"high"
runTimeoutSeconds
超时时间(秒)
900
thread
是否绑定到消息线程
true
cleanup
完成后清理策略
"delete"
 或 "keep"

操作示例 — 派生单个子 Agent:

主 Agent 调用 sessions_spawn 工具:

{  "task": "搜索最近一周关于 RAG 技术的论文,整理出 Top 5 并写出摘要",  "model": "anthropic/claude-sonnet-4-6",  "runTimeoutSeconds": 300}

返回结果(立即返回,非阻塞):

{  "status": "accepted",  "childSessionKey": "agent:main:subagent:a1b2c3d4-e5f6-7890",  "runId": "run-uuid-12345",  "note": "Auto-announce is push-based. Wait for completion events."}

操作示例 — 并行派生多个子 Agent:

主 Agent 可以连续调用 sessions_spawn 并行派发多个任务:

# 第一个子 Agent:搜索论文sessions_spawn(task="搜索 RAG 最新论文 Top 5", model="claude-sonnet")# 第二个子 Agent:分析代码库sessions_spawn(task="分析 src/ 目录下的 RAG 实现代码", agentId="coding")# 第三个子 Agent:使用 Codex 执行代码测试sessions_spawn(task="运行 RAG 管道的单元测试", runtime="acp", agentId="codex")

⚠️ 关键原则:spawn 之后不要轮询!Announce 是推送式的。主 Agent 应该等待完成事件以 user message 的形式自动到达,而不是调用 sessions_list 或 exec sleep 反复查询。

4.2 机制二:sessions_send — 向已有 Session 发消息(A2A 通信)

与 sessions_spawn 创建新 Session 不同,sessions_send 是向一个已经存在的 Session 发送消息,实现 Agent 之间的对话式通信。

图 3:sessions_send A2A 通信流程——包含多轮 Ping-Pong 对话

操作示例 — 通过 Session Key 发消息:

{  "sessionKey": "agent:coding:main",  "message": "请帮我 review 最近提交的 PR #42 中的代码变更"}

操作示例 — 通过 Label 发消息:

{  "label": "support inbox",  "agentId": "support",  "message": "用户反馈登录接口 500 错误,请排查"}

⚠️ 前提条件sessions_send 的 Agent-to-Agent 功能默认关闭!需要在配置中显式开启:

{  tools: {    agentToAgent: {      enabled: true,          // 必须显式开启      allow: ["main", "coding", "support"]  // 白名单    }  }}

sessions_spawn vs sessions_send 对比:

维度
sessions_spawn
sessions_send
作用
创建新的子 Agent Session
向已有 Session 发消息
场景
委派新任务
Agent 间对话/协商
Session
创建全新 Session
复用已有 Session
通信模式
单向委派 + Announce 回传
双向 Ping-Pong 对话
默认可用
✅ 是
❌ 需要开启 agentToAgent

4.3 机制三:嵌套编排模式(Orchestrator Pattern)

OpenClaw 支持子 Agent 再派生子 Agent,形成主 Agent → 编排器 → 工人的树形编排结构。

TB

图 4:嵌套编排模式——主 Agent → 编排器 → 叶子工人的三级结构

深度级别与权限对照:

深度
Session Key 形式
角色
能否再 spawn?
0
agent:<id>:main
主 Agent
✅ 始终可以
1
agent:<id>:subagent:<uuid>
编排器(当 maxSpawnDepth≥2)
✅ 需要 maxSpawnDepth >= 2
2
agent:<id>:subagent:<uuid>:subagent:<uuid>
叶子工人
❌ 永远不可以

启用嵌套编排的配置:

{  agents: {    defaults: {      subagents: {        maxSpawnDepth: 2,          // 允许子 Agent 再派生(默认 1,不允许嵌套)        maxChildrenPerAgent: 5,    // 每个 Agent Session 最多 5 个活跃子 Agent        maxConcurrent: 8,          // 全局并发上限        runTimeoutSeconds: 900     // 默认超时 15 分钟      }    }  }}

Announce 链路(结果逐级上报):

  1. 1. Depth-2 工人完成 → Announce 给 Depth-1 编排器
  2. 2. Depth-1 编排器收集所有工人结果,综合处理后 → Announce 给 Depth-0 主 Agent
  3. 3. 主 Agent 收到综合结果 → 回复用户

💡 每层只能看到直接子级的 Announce。Depth-2 工人的结果不会直接到达主 Agent,而是由编排器综合后转发。


5. 关键指标与配置

📊 了解限制才能用好系统。

5.1 系统限制

指标
默认值
可配置
说明
最大嵌套深度
1(无嵌套)
✅ maxSpawnDepth: 1-5
推荐 2,最大 5
每 Agent 最大活跃子 Agent
5
✅ maxChildrenPerAgent: 1-20
防止单个编排器疯狂 fan-out
全局并发上限
8
✅ maxConcurrent
subagent Lane 的最大并发数
子 Agent 默认超时
0(无超时)
✅ runTimeoutSeconds
建议设置合理超时
A2A Ping-Pong 最大轮次
5
✅ session.agentToAgent.maxPingPongTurns
sessions_send 的最大对话轮次
自动归档时间
60 分钟
✅ archiveAfterMinutes
子 Agent 完成后多久归档

5.2 安全控制配置

{  tools: {    // Agent 间直接消息(sessions_send)的访问控制    agentToAgent: {      enabled: false,          // 默认关闭!      allow: ["main", "coding", "support"]  // 白名单    },    // Session 工具的可见性范围    sessions: {      // "self": 只能看到自己的 Session      // "tree": 当前 Session + 子 Session(默认)      // "agent": 当前 Agent 的所有 Session      // "all": 所有 Session(跨 Agent 仍需 agentToAgent 授权)      visibility: "tree"    }  }}

6. 实践指南

🛠️ 理论看完了,现在撸起袖子搬砖。

6.1 适用场景

  • • 场景 A — 并行研究:需要同时搜索多个信息源、对比多篇文档时,spawn 多个子 Agent 各负责一个方向
  • • 场景 B — 代码审查流水线:主 Agent 接收 PR,spawn 子 Agent 分别负责代码风格检查、安全扫描、测试覆盖率分析
  • • 场景 C — 跨工具链协作:需要同时使用 OpenClaw 原生 Agent 和外部 Codex/Claude Code 时,混合使用 runtime: "subagent" 和 runtime: "acp"

6.2 最佳实践

  1. 1. 
  2. 明确任务描述
    • • ✅ 推荐做法sessions_spawn(task="分析 src/agents/ 目录下所有 .ts 文件,找出未被测试覆盖的公共函数,输出函数名+文件路径列表")
    • • ❌ 反面教材sessions_spawn(task="看看代码")
    • • 💡 原因:子 Agent 的上下文完全独立于主 Agent,模糊的任务描述会导致子 Agent 完全不知道该做什么
  3. 2. 
  4. 为子 Agent 选择合适的模型
    • • ✅ 推荐做法:简单搜索任务用便宜快速的模型(model: "claude-haiku"),复杂推理用高级模型
    • • ❌ 反面教材:所有子 Agent 都用最贵的模型
    • • 💡 原因:每个子 Agent 有独立的 Token 消耗。10 个子 Agent 用 Opus 模型,成本是 Haiku 的 60 倍
  5. 3. 
  6. 设置合理超时
    • • ✅ 推荐做法runTimeoutSeconds: 300(5 分钟)用于常规任务
    • • ❌ 反面教材:不设超时(默认 0 = 无限制)
    • • 💡 原因:子 Agent 可能陷入死循环或等待不存在的资源。超时是安全阀

6.3 常见陷阱

陷阱
症状
病因
药方
轮询子 Agent 状态
主 Agent 反复调用 sessions_list
不信任 push-based Announce
删除轮询逻辑,等待 Announce 自动到达
子 Agent 无法跨 Agent 通信
sessions_send
 返回 forbidden
agentToAgent.enabled
 默认为 false
在配置中显式开启并设置白名单
子 Agent 数量爆炸
Gateway 变慢,Lane 队列堆积
编排器无限制地 spawn 子 Agent
设置 maxChildrenPerAgent 限制
Announce 丢失
主 Agent 未收到子 Agent 结果
Gateway 在 Announce 前重启
Announce 是 best-effort 的,关键任务需要添加重试逻辑

7. 操作示例

💻 以下是 OpenClaw 多 Agent 通信的完整操作示例。

7.1 示例一:并行派发三个研究任务

场景:主 Agent 需要同时研究三个技术方向并汇总报告。

主 Agent 的操作步骤:

步骤 1: 调用 sessions_spawn 派发第一个任务────────────────────────────────────Tool: sessions_spawn{  "task": "搜索 2024 年关于 RAG 技术的最新论文,整理 Top 5 并写出 100 字摘要",  "label": "rag-research",  "model": "anthropic/claude-sonnet-4-6",  "runTimeoutSeconds": 300}→ 返回: { "status": "accepted", "childSessionKey": "agent:main:subagent:aaa-111" }步骤 2: 调用 sessions_spawn 派发第二个任务────────────────────────────────────Tool: sessions_spawn{  "task": "分析 LangChain 和 LlamaIndex 的 RAG 实现方案差异,输出对比表格",  "label": "framework-compare",  "model": "anthropic/claude-sonnet-4-6",  "runTimeoutSeconds": 300}→ 返回: { "status": "accepted", "childSessionKey": "agent:main:subagent:bbb-222" }步骤 3: 调用 sessions_spawn 派发第三个任务────────────────────────────────────Tool: sessions_spawn{  "task": "在 /workspace/rag-demo 目录中运行性能基准测试脚本并收集结果",  "label": "benchmark",  "runtime": "acp",  "agentId": "codex",  "runTimeoutSeconds": 600}→ 返回: { "status": "accepted", "childSessionKey": "agent:main:acp:ccc-333" }步骤 4: 等待(不轮询!)────────────────────────────────────三个子 Agent 并行执行。主 Agent 无需做任何事情。完成事件会以 user message 的形式自动注入。步骤 5: 收到完成事件后汇总────────────────────────────────────[子 Agent aaa-111 完成] → RAG 论文 Top 5 列表[子 Agent bbb-222 完成] → 框架对比表格[子 Agent ccc-333 完成] → 性能测试数据主 Agent 综合三份结果,生成最终报告回复用户。

7.2 示例二:使用 Slash 命令管理子 Agent

在聊天中直接操作子 Agent:

# 查看当前 Session 的所有子 Agent 运行/subagents list# 查看特定子 Agent 的详细信息/subagents info #1# 查看子 Agent 的运行日志(最近 20 条,包含工具调用)/subagents log #1 20 tools# 手动 spawn 一个子 Agent/subagents spawn coding "重构 auth 模块的错误处理" --model claude-sonnet --thinking high# 终止一个运行中的子 Agent/subagents kill #2# 终止所有子 Agent/subagents kill all# 给运行中的子 Agent 发送补充指令/subagents send #1 "优先关注安全相关的代码"# 给运行中的子 Agent 发送 steer 指令(修改方向但不替换上下文)/subagents steer #1 "缩小范围,只看 src/auth/ 目录"

7.3 示例三:配置多 Agent 环境

完整的  配置示例:

{  // 定义多个 Agent  agents: {    defaults: {      subagents: {        maxSpawnDepth: 2,              // 允许嵌套编排        maxChildrenPerAgent: 5,        // 每个 Agent 最多 5 个子 Agent        maxConcurrent: 8,              // 全局并发上限        runTimeoutSeconds: 600,        // 默认 10 分钟超时        model: "anthropic/claude-sonnet-4-6",  // 子 Agent 默认模型        archiveAfterMinutes: 30        // 30 分钟后自动归档      }    },    list: [      {        id: "main",        default: true,        workspace: "~/.openclaw/workspace",        model: "anthropic/claude-opus-4-6"  // 主 Agent 用高级模型      },      {        id: "coding",        workspace: "~/.openclaw/workspace-coding",        model: "anthropic/claude-sonnet-4-6",        // coding Agent 允许被其他 Agent spawn        subagents: {          allowAgents: ["main"]  // 只有 main 可以 spawn coding        }      },      {        id: "research",        workspace: "~/.openclaw/workspace-research",        model: "anthropic/claude-haiku"  // 研究 Agent 用便宜模型      }    ]  },  // Agent 间直接通信  tools: {    agentToAgent: {      enabled: true,      allow: ["main", "coding", "research"]    },    sessions: {      visibility: "agent"  // 同一 Agent 的所有 Session 可见    }  },  // ACP 配置(外部工具链)  acp: {    enabled: true,    backend: "acpx",    defaultAgent: "codex",    allowedAgents: ["codex", "claude"],    maxConcurrentSessions: 4  }}

8. 哲学反思与展望

🔭 技术解决问题,但真正有趣的问题往往在技术之外。

8.1 多 Agent 通信背后的思想

OpenClaw 的多 Agent 通信机制本质上做了一件很深刻的事:它把中心化的决策去中心化的执行统一在了一个优雅的框架中。主 Agent 负责理解意图和分解任务(中心化决策),而子 Agent 在各自独立的 Session 中自主完成工作(去中心化执行),最后通过 Announce 机制将信息重新聚合。

这让人想起组织管理学中的一个经典命题:最高效的团队不是没有管理者的团队,而是管理者只负责分配任务和整合结果、不干预具体执行的团队。 OpenClaw 的 Session 隔离 + push-based Announce 正是这一理念的技术体现。

8.2 未解之题

  • • 信息损耗问题:当子 Agent 的详细分析经过 Announce 压缩后传递给主 Agent,不可避免地会丢失部分信息。如何在"精简汇报"和"信息完整性"之间找到最优平衡?
  • • 级联失败:在嵌套编排模式中,如果中间层编排器超时或出错,其下游所有工人的成果可能全部丢失。如何设计更健壮的故障恢复机制?

8.3 未来展望

从当前的技术趋势来看,多 Agent 通信正在从"工具式协作"向"自组织协作"演进。OpenClaw 目前的模式是由主 Agent 显式决定 spawn 哪些子 Agent,但未来可能出现 Agent 自发地根据任务复杂度决定是否需要协作、以及与谁协作的能力。

另一个值得关注的方向是跨网关的 Agent 通信。当前 OpenClaw 的多 Agent 通信限于单个 Gateway 进程内,但随着 ACP(Agent Client Protocol)的成熟,跨进程、跨机器的 Agent 协作正在变为可能。

💭 结语:当我们教会 Agent 如何协作,也许真正在回答的问题不是"AI 能做什么",而是"分工与协作的本质是什么"——毕竟,这个问题人类自己也还没完全想清楚。


9. 参考资料

源码

  • • OpenClaw 
  • sessions-spawn-tool.ts
  • : src/agents/tools/sessions-spawn-tool.ts
  • [1]
    • • 📌 核心:sessions_spawn 工具的完整实现,包含参数验证和 ACP/Subagent 分流逻辑
  • • OpenClaw 
  • sessions-send-tool.ts
  • : src/agents/tools/sessions-send-tool.ts
  • [2]
    • • 📌 核心:sessions_send 工具实现,包含 A2A 访问控制
  • • OpenClaw 
  • subagent-announce-dispatch.ts
  • : src/agents/subagent-announce-dispatch.ts
  • [3]
    • • 📌 核心:Announce 两阶段分发策略实现
  • • OpenClaw 
  • subagent-spawn.ts
  • : src/agents/subagent-spawn.ts
  • [4]
    • • 📌 核心:子 Agent 派生的底层逻辑,包含深度检查、模型选择、工作空间继承

官方文档

  • • Multi-Agent Routing
  • [5]
    • • 📌 适合:了解多 Agent 路由和 Binding 机制的完整配置
  • • Sub-Agents
  • [6]
    • • 📌 适合:sessions_spawn 工具的完整参数说明和嵌套编排配置
  • • ACP Agents
  • [7]
    • • 📌 适合:使用外部工具链(Codex/Claude Code)的详细指南
  • • Agent Send
  • [8]
    • • 📌 适合:从 CLI 触发 Agent 运行的操作指南

引用链接

[1] src/agents/tools/sessions-spawn-tool.ts: ../../openclaw/src/agents/tools/sessions-spawn-tool.ts[2] src/agents/tools/sessions-send-tool.ts: ../../openclaw/src/agents/tools/sessions-send-tool.ts[3] src/agents/subagent-announce-dispatch.ts: ../../openclaw/src/agents/subagent-announce-dispatch.ts[4] src/agents/subagent-spawn.ts: ../../openclaw/src/agents/subagent-spawn.ts[5] Multi-Agent Routing: ../../openclaw/docs/concepts/multi-agent.md[6] Sub-Agents: ../../openclaw/docs/tools/subagents.md[7] ACP Agents: ../../openclaw/docs/tools/acp-agents.md[8] Agent Send: ../../openclaw/docs/tools/agent-send.md

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