乐于分享
好东西不私藏

基于CrewAI 多 Agent 软件研发团队案例

基于CrewAI 多 Agent 软件研发团队案例

使用langchain或langgraph实现多智能体协助固然可以比较灵活,单过程过于复杂,CrewAI 以智能体角色驱动,基于它开发做智能体协同可以大大降低难度,如果你有简单的工作流,你也可以开发自己的agents军团,让他们为你干活。如果你有多智能体开发的需求不防看看这个项目,为大家准备了开发文档和源码,开箱即用。 

https://github.com/share-budaozhe/AI-DevelopmentCourse/tree/master/crewai-demo

一、项目需求

1. 项目背景

在 AI Agent 技术的发展中,单一 Agent 的能力常常不足以应对复杂、多领域的任务。多智能体协作系统(Multi-Agent Collaboration System) 通过让多个具有不同专长的 Agent 协同工作,实现了"1+1>2"的效果。

CrewAI 是目前最流行的多 Agent 框架之一,专注于角色驱动(Role-Based)的 Agent 协作。与 LangGraph 的"状态图编排"思路不同,CrewAI 更贴近"组建团队、分配任务、各自完成"的人类协作模式。

本 Demo 以软件研发团队为场景,展示如何使用 CrewAI 构建一个高效的 5 人 Agent 团队,完成从需求分析到部署上线的完整软件开发生命周期。

2. 项目目标

  • 展示 CrewAI 核心概念
    :Agent(角色)、Task(任务)、Crew(团队)、Process(执行模式)
  • 提供可运行的示例
    :5 个角色 Agent 协作完成真实软件开发流程
  • 对比框架差异
    :直观感受 CrewAI 与 LangGraph 在设计理念和使用方式上的差异
  • 建立最佳实践
    :Agent 角色设计、Task 拆分粒度、上下文传递等工程实践

3. 项目范围

维度

内容

覆盖场景

需求分析 → 架构设计 → 代码实现 → 质量测试 → 部署方案

Agent 数量

5 个(产品经理、架构师、开发工程师、测试工程师、运维工程师)

框架

CrewAI

执行模式

Sequential(顺序)为主,支持 Hierarchical(层级)

工具支持

需求分析、技术栈推荐、代码审查、部署检查、知识检索

4. CrewAI vs LangGraph 对比

特性

CrewAI

LangGraph

设计理念

角色驱动的团队协作

状态图驱动的流程编排

Agent 定义

role + goal + backstory

自定义节点 + 提示词

任务管理

Task 对象,自动上下文传递

手动在 State 中传递数据

执行模式

Sequential / Hierarchical

自定义图(DAG)

工具绑定

内置 BaseTool 基类

通过 LangChain Tool

记忆能力

内置 Memory 模块

需自行实现

学习曲线

低——概念直观,上手快

中——需理解图编程

灵活性

中等——框架约束了结构

高——完全自定义图结构

适用场景

角色分工明确的任务

复杂条件路由和分支

5. 适用场景

5.1 学习

  • 学习 CrewAI 框架的核心概念和 API
  • 对比不同多 Agent 框架的设计哲学
  • 团队培训中的动手实验案例

5.2 原型验证

  • 快速搭建多 Agent 协作原型
  • 验证 Agent 角色定义对团队效能的影晌
  • 评估不同 LLM 在角色扮演场景下的表现

5.3 实际应用

  • 内容创作团队(选题→调研→写作→编辑→发布)
  • 代码开发团队(需求→设计→编码→测试→部署)
  • 研究分析团队(资料收集→分析→报告撰写→审核→发布)
  • 客户服务团队(接入→分析→解决方案→审核→回复)

6. 项目价值

  1. 学习价值
    :将 CrewAI 的核心概念转化为可运行的具体代码
  2. 对比价值
    :与项目中的 LangGraph Demo 形成对比参考
  3. 工程价值
    :提供 CrewAI 项目的最佳实践和代码模板
  4. 扩展价值
    :模块化设计,易于替换 Agent 角色和工具集

二、CrewAI 多 Agent 软件研发团队 —— 流程图

1. 整体协作流程

                          ┌─────────────┐                          │  用户输入    │                          │  项目需求    │                          └──────┬──────┘                                 │                  ┌──────────────▼──────────────┐                  │       CrewAI Crew            │                  │  Process: Sequential         │                  │  Memory: Enabled             │                  │  Planning: Enabled           │                  └──────────────┬──────────────┘                                 │         ┌───────────────────────┼───────────────────────┐         │                       │                       │         ▼                       ▼                       ▼┌─────────────────┐   ┌─────────────────┐   ┌─────────────────┐│   Task 1        │   │   Task 2        │   │   Task 3        ││ 📋 需求分析      │──▶│ 🏗️ 架构设计      │──▶│ 💻 代码实现      ││                 │   │                 │   │                 ││ Agent: 产品经理  │   │ Agent: 架构师    │   │ Agent: 开发工程师││ Output: PRD     │   │ Output: 技术方案 │   │ Output: 代码    │└─────────────────┘   └─────────────────┘   └─────────────────┘                                                      │                          ┌───────────────────────────┘                          │                          ▼         ┌───────────────────────────────┐         │           Task 4              │         │        🧪 质量测试             │         │                               │         │ Agent: 测试工程师              │         │ Output: 测试报告              │         └───────────────┬───────────────┘                         │                         ▼         ┌───────────────────────────────┐         │           Task 5              │         │        🚀 部署方案             │         │                               │         │ Agent: DevOps 运维工程师       │         │ Output: 部署方案 + 运维手册    │         └───────────────┬───────────────┘                         │                         ▼                  ┌─────────────┐                  │  最终交付   │                  │  完整方案   │                  └─────────────┘

2. 单 Agent 执行流程

┌─────────────────────────────────────────────────────────┐│                   Task 开始                              │└────────────────────┬────────────────────────────────────┘                     │                     ▼┌─────────────────────────────────────────────────────────┐│  1. 上下文收集                                           ││  - 读取上游 Task 的输出(通过 context 自动注入)          ││  - 加载 Crew Memory 中的相关记忆                         │└────────────────────┬────────────────────────────────────┘                     │                     ▼┌─────────────────────────────────────────────────────────┐│  2. 提示词构建                                           ││  ┌─────────────────────────────────────────────────┐   ││  │ System: role + goal + backstory                 │   ││  │ Context: 上游任务输出(自动拼接)                 │   ││  │ Task: description + expected_output             │   ││  │ Memory: 历史记忆(如启用)                        │   ││  └─────────────────────────────────────────────────┘   │└────────────────────┬────────────────────────────────────┘                     │                     ▼┌─────────────────────────────────────────────────────────┐│  3. LLM 推理循环(max_iter 次)                          ││  ┌─────────────────────────────────────────────────┐   ││  │ LLM 思考 → 需要工具?                            │   ││  │   ├── 是 → 调用工具 → 获取结果 → 继续思考        │   ││  │   └── 否 → 生成最终输出                          │   ││  └─────────────────────────────────────────────────┘   │└────────────────────┬────────────────────────────────────┘                     │                     ▼┌─────────────────────────────────────────────────────────┐│  4. 输出处理                                             ││  - 生成 TaskOutput(包含 raw + parsed 内容)             ││  - 存储到 Crew Memory                                   ││  - 传递给下一个 Task 的 context                          │└────────────────────┬────────────────────────────────────┘                     │                     ▼┌─────────────────────────────────────────────────────────┐│  5. 错误处理(如发生)                                    ││  - 捕获异常 → 记录错误信息 → 标记 Task 失败              ││  - CrewAI 内置重试机制                                   │└─────────────────────────────────────────────────────────┘

3. Sequential vs Hierarchical 模式

Sequential(顺序模式)              Hierarchical(层级模式)─────────────────────────          ────────────────────────   Task 1                            ┌─────────────┐     │                               │   Manager   │     ▼                               │   Agent     │   Task 2                            └──┬───┬───┬──┘     │                               │   │   │   │     ▼                               ▼   ▼   ▼   ▼   Task 3                           T1  T2  T3  T4  T5     │                               ▲   ▲   ▲   ▲   ▲     ▼                               │   │   │   │   │   Task 4                           └───┴───┴───┴───┘     │                              Manager 动态分配,     ▼                              可能并行, 可能重试,   Task 5                            可能改变顺序 特点:                            特点: - 固定顺序                         - 动态调度 - 自动上下文传递                    - Manager 协调 - 确定性强                          - 灵活性高 - 适合流水线任务                    - 适合复杂不确定任务

4. 上下文传递机制

┌─────────┐     ┌─────────┐     ┌─────────┐│ Task 1  │     │ Task 2  │     │ Task 3  ││         │     │         │     │         ││ Output  │────▶│ Input:  │     │         ││ (PRD)   │     │ - Topic │     │         ││         │     │ - PRD   │────▶│ Input:  ││         │     │         │     │ - Topic ││         │     │ Output  │     │ - PRD   ││         │     │ (架构)   │     │ - 架构   │└─────────┘     └─────────┘     │         │                                │ Output  │                                │ (代码)   │                                └─────────┘CrewAI 自动将上游 Task 输出作为下游 Task 的上下文注入,无需手动管理 State。每个 Task 可以访问所有 context 中指定的上游输出。

5. 工具调用流程

Agent 执行中...     │     ▼需要搜索技术资料?     │     ├── 是 → 调用 knowledge_search("微服务架构")     │         │     │         ▼     │       工具返回结果     │         │     │         └──→ Agent 将结果融入思考     │     ▼需要推荐技术栈?     │     ├── 是 → 调用 tech_stack_recommender("web")     │         │     │         ▼     │       返回推荐栈     │         │     │         └──→ Agent 基于推荐做决策     │     ▼继续推理 → 生成最终输出

6. 项目文件结构

crewai-demo/├── main.py                          # 🚀 主入口 (Rich CLI)├── requirements.txt                 # 📦 依赖清单├── .env.example                     # 🔑 环境变量模板├── README.md                        # 📖 项目说明├── src/│   ├── config.py                    # ⚙️ LLM 配置管理│   ├── crew.py                      # 🎯 Crew 编排逻辑│   ├── agents/                      # 🤖 Agent 定义│   │   ├── product_manager.py       #   产品经理│   │   ├── architect.py             #   系统架构师│   │   ├── developer.py             #   开发工程师│   │   ├── tester.py                #   测试工程师│   │   └── devops.py               #   运维工程师│   ├── tasks/                       # 📋 Task 定义│   │   └── tasks.py                 #   5 个阶段任务│   └── tools/                       # 🔧 自定义工具│       └── tools.py                 #   5 个工具类├── tests/│   └── test_crew.py                 # 🧪 测试套件└── docs/    ├── 项目说明.md                   # 📄 项目说明文档    ├── 实现原理.md                   # 🔬 技术实现详解    ├── 技术要点.md                   # 💡 技术要点与调试    └── 流程图.md                     # 🗺️ 流程与架构图

三 、CrewAI 多 Agent 软件研发团队 —— 实现原理

1. 核心架构

本系统采用 CrewAI 的 角色驱动协作架构(Role-Based Collaboration Architecture),由 5 个专职 Agent 组成软件开发团队,通过 Crew 进行任务编排和上下文传递。

┌─────────────────────────────────────────────────────┐│                  用户接口层                           ││            main.py (CLI / Rich UI)                   │└────────────────────┬────────────────────────────────┘                     │┌────────────────────▼────────────────────────────────┐│                  Crew 编排层                          ││   Crew (agents + tasks + process + memory + plan)    ││   ┌──────────────────────────────────────────────┐  ││   │  Sequential Process:                          │  ││   │  Task 1 → Task 2 → Task 3 → Task 4 → Task 5   │  ││   │  (每个 Task 的输出自动成为下一 Task 的上下文)    │  ││   └──────────────────────────────────────────────┘  │└────────────────────┬────────────────────────────────┘                     │┌────────────────────▼────────────────────────────────┐│                   Agent 层                            ││  ┌──────────┐ ┌──────────┐ ┌──────────┐             ││  │📋 产品经理│→│🏗️ 架构师 │→│💻 开发   │            ││  │ PRD文档  │ │ 技术方案  │ │ 代码实现  │            ││  └──────────┘ └──────────┘ └──────────┘             ││  ┌──────────┐ ┌──────────┐                          ││  │🧪 测试   │→│🚀 运维   │                          ││  │ 测试报告  │ │ 部署方案  │                          ││  └──────────┘ └──────────┘                          │└────────────────────┬────────────────────────────────┘                     │┌────────────────────▼────────────────────────────────┐│                  工具与基础设施层                      ││  ┌──────────┐ ┌──────────┐ ┌──────────┐             ││  │需求分析工具│ │技术栈推荐 │ │代码审查  │             ││  └──────────┘ └──────────┘ └──────────┘             ││  ┌──────────┐ ┌──────────┐                          ││  │部署检查  │ │知识检索  │   内存记忆 + 任务规划      ││  └──────────┘ └──────────┘                          │└─────────────────────────────────────────────────────┘

2. CrewAI 核心概念

2.1 Agent(智能体)

CrewAI 的 Agent 是角色驱动的,每个 Agent 包含 4 个核心属性:

Agent(    role="产品经理",           # 角色名称 —— 定义 Agent 的身份    goal="产出 PRD 文档",      # 目标 —— Agent 要达成什么    backstory="10年经验...",   # 背景故事 —— 塑造 Agent 的行为风格    tools=[...],              # 工具 —— Agent 可以调用的能力    llm=llm,                  # LLM —— 驱动 Agent 的大语言模型    allow_delegation=False,   # 是否允许委托其他 Agent    verbose=True,             # 是否输出详细日志)

设计原则

  • 角色聚焦
    :每个 Agent 只负责一个领域,避免"万能 Agent"
  • 背景塑造行为
    :backstory 不仅提供上下文,更塑造输出风格和决策偏好
  • 工具按需分配
    :只给 Agent 它真正需要的工具,避免"工具过载"

2.2 Task(任务)

Task 定义了 Agent 要完成的具体工作:

Task(    description="详细的任务描述...",  # 任务说明(可引用其他任务输出)    expected_output="期望的输出格式",  # 明确输出预期    agent=product_manager,             # 负责执行的 Agent    context=[previous_task],           # 依赖的上游任务)

Task 设计要点

  • description
     中可引用 {topic} 等变量实现参数化
  • expected_output
     帮助 Agent 聚焦输出方向
  • context
     建立了任务间的依赖关系,CrewAI 自动传递上下文

2.3 Crew(团队)

Crew 是将 Agent 和 Task 组合在一起的编排器:

Crew(    agents=[...],                    # 团队成员    tasks=[...],                     # 任务列表    process=Process.sequential,      # 执行模式    memory=True,                     # 启用记忆    planning=True,                   # 启用任务规划    verbose=True,                    # 详细日志)

2.4 Process(执行模式)

模式

说明

适用场景

Sequential

任务按列表顺序依次执行,前一个输出自动传入下一个

流水线式工作流,步骤固定

Hierarchical

CrewAI 自动创建一个 Manager Agent,负责任务分发和协调

复杂任务,需要动态调度

3. 关键设计决策

3.1 为什么选择 Sequential 模式?

本 Demo 展示的软件研发流程是典型的流水线模式——每个阶段的输出是下一阶段的输入。Sequential 模式完美匹配这种场景:

  • 需求 → 架构 → 开发 → 测试 → 部署
  • 每个阶段的上下文自动传递,无需手动管理

Hierarchical 模式更适合任务不确定的场景,例如"分析这个代码库并给出改进建议"——Manager Agent 需要动态决定先做什么、后做什么。

3.2 工具设计策略

本 Demo 实现了 5 个工具,分配给不同 Agent:

工具

分配给

原因

requirement_analyzer

产品经理

辅助需求结构化

tech_stack_recommender

架构师

辅助技术选型

code_reviewer

开发 + 测试

开发和测试都需要审查代码

deploy_checker

运维

验证部署条件

knowledge_search

架构师 + 开发 + 运维

通用知识检索需求

3.3 记忆机制(Memory)

CrewAI 内置了 Memory 模块,包括:

  • 短期记忆
    :当前 Crew 执行过程中的上下文
  • 长期记忆
    :跨 Crew 执行的知识积累(需配置向量存储)
  • 实体记忆
    :对关键实体(如用户、项目)的信息存储

本 Demo 启用了 memory=True,使 Agent 在协作过程中能"记住"之前讨论的关键信息。

3.4 上下文传递机制

CrewAI 的上下文传递与 LangGraph 的 State 传递有明显区别:

# LangGraph 方式:显式状态管理class AgentState(TypedDict):    research_output: str    analysis_output: str    # ...# CrewAI 方式:自动上下文注入task2.context = [task1]  # task1 的输出自动注入到 task2 的提示词中

CrewAI 的上下文传递更"黑盒"——你不需要定义 State 结构,框架自动将上游任务输出拼接为一个上下文块,注入到下游任务的提示词中。

4. 执行流程详解

1. kickoff() 触发   │2. CrewAI 检查 process 类型   ├── Sequential → 按 tasks 列表顺序执行   └── Hierarchical → Manager Agent 规划执行顺序   │3. 对于每个 Task:   ├── 收集 context 中依赖任务的输出   ├── 构建完整 Prompt(role + goal + backstory + context + description)   ├── Agent 调用 LLM + Tools 执行   ├── Agent 可能需要多轮 tool calling 迭代(由 max_iter 控制)   ├── 生成 TaskOutput   └── 存储到记忆(如启用)   │4. 所有 Task 完成后   └── 返回 CrewOutput(包含最终结果和各 Task 输出)

5. 与传统 LangGraph 方案的差异

方面

CrewAI

LangGraph(原 multi-agent-demo)

Agent 定义

role + goal + backstory

自定义 Python 函数 + System Prompt

状态管理

自动上下文传递

显式 TypedDict State

流程控制

Sequential / Hierarchical

自定义图结构(add_node/add_edge)

错误处理

框架内置重试

需手动 try/except + 条件路由

工具集成

继承 BaseTool

使用 @tool 装饰器或 BaseTool

记忆

内置 Memory

需自行实现(共享上下文字典)

代码量

较少——框架完成大量工作

较多——需显式管理状态和路由

四、CrewAI 多 Agent 软件研发团队 —— 技术要点

1. 环境配置

1.1 Python 版本

要求 Python >= 3.10,推荐 Python 3.11+。

1.2 依赖安装

pip install -r requirements.txt

1.3 API Key 配置

cp .env.example .env

编辑 .env 文件,填入你的 API Key。支持以下 LLM Provider:

Provider

需要配置的环境变量

OpenAI

OPENAI_API_KEYOPENAI_MODEL

DeepSeek

DEEPSEEK_API_KEYDEEPSEEK_MODELDEEPSEEK_BASE_URL

Anthropic

ANTHROPIC_API_KEYANTHROPIC_MODEL

切换 Provider 只需修改 LLM_PROVIDER 环境变量。

2. CrewAI 核心 API

2.1 Agent 创建

from crewai import Agentagent = Agent(    role="角色名称",          # 必填:定义 Agent 的身份    goal="要达成的目标",      # 必填:Agent 的核心目标    backstory="背景故事",     # 推荐:塑造 Agent 的行为风格    tools=[tool1, tool2],    # 可选:Agent 可调用的工具列表    llm=llm_instance,        # 可选:默认使用 OPENAI_API_KEY    verbose=True,            # 可选:是否输出详细日志    allow_delegation=False,  # 可选:是否允许委托其他 Agent    max_iter=5,              # 可选:最大工具调用迭代次数)

最佳实践

  • backstory
     应包含角色经验、工作习惯、决策偏好
  • 为不同角色设置不同的 temperature(架构师低温度,创意角色高温度)
  • allow_delegation=True
     仅用于 Manager 或需要协调的角色

2.2 Task 定义

from crewai import Tasktask = Task(    description="详细的任务描述",      # 必填    expected_output="期望的输出格式",  # 推荐:帮助 Agent 聚焦    agent=agent_instance,              # 必填:指派 Agent    context=[previous_task],           # 可选:依赖的上游任务    async_execution=False,             # 可选:是否异步执行)

最佳实践

  • description
     越详细越好,包含具体步骤和要求
  • expected_output
     应明确输出格式(JSON、Markdown、代码等)
  • context
     建立任务 DAG,使 CrewAI 能正确传递上下文

2.3 Crew 编排

from crewai import Crew, Processcrew = Crew(    agents=[agent1, agent2, ...],    tasks=[task1, task2, ...],    process=Process.sequential,  # 或 Process.hierarchical    memory=True,                 # 启用跨任务记忆    planning=True,               # 启用任务执行前规划    verbose=True,)result = crew.kickoff()  # 启动执行

2.4 自定义工具

from crewai.tools import BaseToolclass MyTool(BaseTool):    name: str = "tool_name"    description: str = "工具描述(Agent 据此判断何时调用)"    def _run(self, argument: str) -> str:        # 实现工具逻辑        return "result"

关键点

  • name
     和 description 是 Agent 判断何时调用工具的唯一依据
  • description
     应包含:做什么、输入格式、输出格式
  • _run
     方法接受字符串参数,返回字符串结果

3. LLM 配置详解

3.1 多 Provider 支持

from src.config import get_llm# 使用默认配置(环境变量)llm = get_llm()# 覆盖模型和温度llm = get_llm(model_name="gpt-4o", temperature=0.3)get_llm 函数根据 LLM_PROVIDER 环境变量返回对应的 LangChain ChatModel:openai → ChatOpenAIdeepseek → ChatOpenAI(兼容 API)anthropic → ChatAnthropic

3.2 Temperature 调优

Agent

推荐 Temperature

原因

产品经理

0.5

需要创意但也需要结构化

架构师

0.3

技术决策需要精确和一致

开发工程师

0.4

代码生成需要平衡创造性和正确性

测试工程师

0.3

测试用例需要精确

运维工程师

0.4

部署方案需要一定的灵活性

4. 常见问题与调试

4.1 API 调用失败

Error: Connection error / Timeout

排查方向

  1. 检查 .env 中的 API Key 是否正确
  2. 检查网络是否需要代理
  3. 检查 API 额度是否耗尽
  4. 尝试切换 LLM Provider

4.2 Agent 输出质量差

优化方向

  1. 增强 backstory —— 更详细的角色设定 -> 更好的输出
  2. 降低 temperature —— 减少随机性
  3. 优化 expected_output —— 更明确的期望引导
  4. 增加 max_iter —— 给 Agent 更多思考空间

4.3 工具调用失败

CrewAI 工具调用失败的常见原因:

  1. description
     不够清晰 —— Agent 不知道何时使用
  2. _run
     返回值不是字符串
  3. 工具执行时间超过 LLM API 超时

解决方案

  • 在工具 description 中明确使用场景
  • 在工具内添加 try/except 并返回友好的错误信息

5. 扩展建议

5.1 添加新 Agent

# 1. 在 src/agents/ 下创建新文件# 2. 定义 create_xxx_agent() 函数# 3. 在 src/crew.py 中注册# 4. 在 src/tasks/tasks.py 中创建对应 Task5.2 添加新工具# 1. 在 src/tools/tools.py 中创建新工具类# 2. 继承 BaseTool,实现 _run()# 3. 在对应的 Agent 创建函数中添加工具

5.3 切换到层级模式

python main.py --process hierarchical

在 Hierarchical 模式下,CrewAI 自动创建 Manager Agent 协调所有 Agent。适合任务步骤不确定的场景。

5.4 启用长期记忆

在 .env 中添加:

CREWAI_MEMORY=true

并在 Crew 创建时确保 memory=True。长期记忆需要配置向量存储。

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-07-01 04:12:01 HTTP/1.1 GET : https://www.yeyulingfeng.com/a/821462.html
  2. 运行时间 : 0.083346s [ 吞吐率:12.00req/s ] 内存消耗:4,866.64kb 文件加载:145
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=6f6237811b81533940ca4b8e7679323f
  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.50 KB )
  145. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
  1. CONNECT:[ UseTime:0.000423s ] mysql:host=127.0.0.1;port=3306;dbname=wenku;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000546s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000567s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000949s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000495s ]
  6. SELECT * FROM `set` [ RunTime:0.000286s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000490s ]
  8. SELECT * FROM `article` WHERE `id` = 821462 LIMIT 1 [ RunTime:0.000924s ]
  9. UPDATE `article` SET `lasttime` = 1782850321 WHERE `id` = 821462 [ RunTime:0.001161s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 64 LIMIT 1 [ RunTime:0.000243s ]
  11. SELECT * FROM `article` WHERE `id` < 821462 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000484s ]
  12. SELECT * FROM `article` WHERE `id` > 821462 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.000581s ]
  13. SELECT * FROM `article` WHERE `id` < 821462 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.001531s ]
  14. SELECT * FROM `article` WHERE `id` < 821462 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.000868s ]
  15. SELECT * FROM `article` WHERE `id` < 821462 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.001364s ]
0.085097s