乐于分享
好东西不私藏

多模态 AI 基础概念扫盲:从向量、Embedding 到 Lance

多模态 AI 基础概念扫盲:从向量、Embedding 到 Lance
📌 这份文档的目标:不讲太多工程细节,先把多模态 AI 里最常见、最容易抽象的概念讲明白:向量、Embedding、相似度、向量数据库、索引、RAG、Blob、Lance/LanceDB 到底在干什么。读完之后,再看技术文档会顺很多。

你可以把多模态 AI 系统想象成一个“超级资料库”:

  • 原始资料:图片、视频、音频、PDF、文本、表格、网页截图。
  • AI 看懂后的摘要:模型把这些资料变成一串数字,这串数字就叫 Embedding / 向量
  • 搜索能力:用户输入一句话、一张图或一段音频,系统也把它变成一串数字,然后去资料库里找“数字上最接近”的内容。
  • Lance / LanceDB:负责把原始资料、这串数字、标签、描述、版本等都管理起来,并且让搜索和训练更快。
一句话:多模态检索的核心就是“把不同形态的数据都翻译成机器能比较的数字坐标,然后按距离找相似”。

● ● ●

1.1 模态是什么

模态可以理解为信息的表现形式。

  • 文本是一种模态:文章、标题、评论、说明书。
  • 图片是一种模态:照片、截图、海报、医学影像。
  • 音频是一种模态:语音、音乐、环境声。
  • 视频是一种模态:画面 + 声音 + 时间序列。
  • 结构化数据也是一种模态:表格、字段、指标、日志。

● ● ●

1.2 多模态是什么

多模态就是一个系统同时理解和处理多种信息形式。

场景涉及模态例子
图文搜索文本 + 图片输入“红色跑鞋”,搜出对应图片
视频理解视频 + 音频 + 文本找出视频里“狗跳进泳池”的片段
文档问答PDF 图片 + OCR 文本 + 结构问合同里付款条款在哪一页
机器人训练摄像头画面 + 动作 + 传感器根据视频和动作数据训练机械臂

2. 什么是向量?

● ● ●

2.1 先别想数学,先想“坐标”

向量可以先理解成“一个点在空间里的坐标”。

在二维地图上,一个地点可以用两个数字表示:经度、纬度。比如:

  • 公司 A:[116.3, 39.9]
  • 公司 B:[116.4, 39.9]

两个地点坐标越接近,说明它们地理上越近。

AI 里的向量也是类似,只不过不是二维,而可能是 512 维、768 维、1024 维、甚至更多维。

💡 直觉理解:向量就是 AI 世界里的“坐标”。一段文本、一张图片、一段音频,都可以被模型映射到一个很高维的坐标空间里。

● ● ●

2.2 为什么需要很多维

二维坐标只能表达地理位置。但一张图片或一句话包含的信息太丰富了,需要很多维度一起表达。

比如一张“猫坐在沙发上”的图片,模型可能在隐含地表达这些特征:

  • 是不是动物?
  • 是不是猫?
  • 有没有沙发?
  • 画面风格是照片还是插画?
  • 颜色偏暖还是偏冷?
  • 主体在画面中央还是边缘?

真实模型不会用人类可读的字段逐个写出来,而是把这些语义压缩进一串数字里。

3. 什么是 Embedding?

● ● ●

3.1 Embedding 的大白话

Embedding就是“模型把原始内容翻译成向量”的结果。

  • 文本 Embedding:把一句话变成一串数字。
  • 图片 Embedding:把一张图变成一串数字。
  • 音频 Embedding:把一段声音变成一串数字。
  • 视频 Embedding:把一个视频或视频片段变成一串数字。
Embedding = 内容的语义指纹。它不是给人看的,而是给机器比较相似度用的。

● ● ●

3.2 举个文本例子

下面这些句子字面不同,但意思接近:

  • “一只猫坐在沙发上”
  • “沙发上趴着一只小猫”
  • “a cat is sitting on a couch”

好的 Embedding 模型会把它们映射到比较接近的位置。这样搜索时,即使用户用不同表达,也能找到相关内容。

● ● ●

3.3 举个图文例子

CLIP / OpenCLIP 这类模型能把图片和文本放到同一个语义空间里:

  • 一张猫的图片 → 图片向量
  • “一只猫坐在沙发上” → 文本向量

如果模型训练得好,这两个向量会很接近。所以我们就能用文字搜图片,或者用图片搜相似图片。

4. 什么是“相似度”?什么是“距离”?

有了向量之后,我们需要判断两个向量像不像。这就涉及 相似度距离

概念直觉越大/越小代表什么
相似度两个东西有多像越大越像
距离两个点隔多远越小越像

● ● ●

4.1 Cosine Similarity / 余弦相似度

这是文本和图片 Embedding 里非常常见的比较方式。

它关心的是“方向像不像”,不太关心向量长度。

  • 方向接近:语义接近。
  • 方向差很远:语义不接近。

● ● ●

4.2 Top-K 是什么

Top-K就是“找最相似的前 K 个”。

比如用户搜索“红色跑鞋”,系统返回最相似的 10 张图片,这就是 Top-10。

📌 检索的核心过程:query → 生成 query 向量 → 和库里的向量比较距离 → 返回 Top-K。

5. 什么是向量数据库?

● ● ●

5.1 普通数据库擅长什么

普通数据库擅长精确查询:

  • id = 123
  • name = “张三”
  • price > 100
  • created_at 在某个时间范围

● ● ●

5.2 向量数据库擅长什么

向量数据库擅长相似搜索:

  • 找意思接近的文章。
  • 找和这张图相似的图片。
  • 找和这段音频类似的声音。
  • 找和用户问题最相关的知识片段。

● ● ●

5.3 为什么不用普通数据库直接查

因为向量通常有几百到几千维,数据量大时,逐条比较会非常慢。

向量数据库会建立专门的 向量索引,让相似搜索更快。

6. 什么是索引?

● ● ●

6.1 先从书的目录理解

没有目录时,你要找一本书里的某个知识点,只能从第一页翻到最后一页。

有目录和索引后,你可以快速跳到相关章节。

数据库索引也是类似:提前组织好数据,让查询时少走弯路。

● ● ●

6.2 向量索引是什么

向量索引就是为了快速找到相似向量而建立的数据结构。

常见思路是:把海量向量分组、聚类、压缩或建图。查询时不用全量比较,而是先找到可能相关的小范围。

注意:很多向量索引是近似搜索,不一定 100% 找到理论上最相似的结果,但速度快很多。这就是“速度”和“召回率”的权衡。

● ● ●

6.3 常见索引名词

名词简单解释
Flat / Brute Force暴力逐个比较,最准确,但大数据量慢
IVF先把向量分到不同桶里,查询时只查相关桶
PQ把向量压缩,省内存、提速度,但会有精度损失
HNSW把向量组织成图,通过图搜索快速找到近邻
Scalar Index普通字段索引,比如 category、tenant_id、时间
FTS Index全文检索索引,用来搜关键词和文本相关性

7. 什么是全文检索 FTS?它和向量检索有什么不同?

FTS 是 Full-Text Search,全文检索。它更像传统搜索引擎,擅长关键词匹配。

能力擅长不擅长
向量检索语义相似,比如“猫咪”和“小猫”精确词、型号、代码、数字约束
全文检索关键词、品牌、型号、人名、OCR 文字换一种说法但含义相近的语义泛化

● ● ●

7.1 为什么需要混合检索

真实业务 query 往往既有语义,也有精确条件。

例如:“找 2024 年发布的红色 Nike 跑鞋海报”。

  • “红色跑鞋海报”适合向量检索。
  • “Nike”适合关键词检索。
  • “2024 年”适合 metadata filter。
混合检索就是把向量检索、全文检索、结构化过滤组合起来,再统一排序。

8. 什么是 RAG?

● ● ●

8.1 RAG 的全称

RAG = Retrieval-Augmented Generation,检索增强生成。

● ● ●

8.2 大白话解释

让大模型回答问题前,先从资料库里找相关资料,再把资料塞给大模型,让它基于资料回答。

RAG 的基本流程:先检索,再生成

● ● ●

8.3 RAG 和 LanceDB 的关系

  • LanceDB 可以作为 RAG 的检索层。
  • 文本 RAG 存文档 chunk 和 text embedding。
  • 多模态 RAG 可以存图片、PDF 页面、视频片段、OCR、caption、各种 embedding。

9. 什么是 Chunk?

Chunk就是把大内容切成小块。

● ● ●

9.1 为什么要切块

  • 一篇长文太长,大模型上下文放不下。
  • 整篇文章做一个向量太粗,检索不精准。
  • 用户通常只需要某一小段,而不是整篇。

● ● ●

9.2 多模态里的 Chunk

数据类型常见切块方式
长文档按段落、标题、页、固定 token 数切
PDF按页、版面区域、表格、图片切
视频按时间片段、镜头、关键帧切
音频按时间窗口、说话人、语义段落切
图片按整图、检测框、区域、patch 切

10. 什么是 Metadata?

Metadata就是“描述数据的数据”。

比如一张图片本身是数据,它的这些信息就是 metadata:

  • 文件名
  • 来源
  • 上传时间
  • 所属用户/租户
  • 图片宽高
  • 标签
  • 权限
  • 质量分
📌 在真实系统里,metadata 非常重要。只靠向量检索会搜出“语义相似但业务不合法”的结果,比如权限不对、时间不对、类目不对。

11. 什么是 Blob?

● ● ●

11.1 Blob 的意思

Blob可以理解为“大块二进制数据”。

图片、视频、音频、PDF 文件,在计算机里本质上都是一堆 bytes。

● ● ●

11.2 为什么多模态里经常提 Blob

因为多模态系统不仅要存向量,还要存或访问原始内容:

  • 检索到图片后,需要展示图片。
  • 训练时,需要读取原始图片或视频帧。
  • 调试时,需要查看模型到底看到了什么。

● ● ●

11.3 URI 和 Blob 的区别

方式是什么优点缺点
URI文件路径或对象存储地址轻量,容易和外部系统集成路径可能失效,读取依赖外部存储
Blob直接把文件 bytes 存到表里数据和特征在一起,训练/检索闭环更完整表可能变大,需要懒加载和存储策略

12. Lance 是什么?

Lance是一个面向多模态 AI 的开放数据格式。

你可以把它理解成:比通用 Parquet 更适合 AI 多模态数据的表格式。

● ● ●

12.1 Lance 重点解决什么

  • 能同时存图片、视频、音频、文本、向量、标注和 metadata。
  • 能快速随机读取,适合训练时 shuffle 和采样。
  • 能添加新特征列,不必总是重写大媒体文件。
  • 能做版本管理,方便复现实验。
  • 能支持向量、全文、标量索引。
💡 类比:如果 Parquet 更像传统数仓里的列式文件,Lance 更像为 AI 数据湖定制的列式文件 + 多模态 Blob + 向量索引 + 版本管理。

13. LanceDB 是什么?

LanceDB是建立在 Lance 格式上的数据库/检索系统。

它帮你做这些事情:

  • 创建表。
  • 写入文本、图片、向量、metadata。
  • 创建向量索引、全文索引、标量索引。
  • 做向量检索、全文检索、混合检索。
  • 管理版本、更新列、追加数据。
  • 作为训练数据和 RAG 检索的数据层。

● ● ●

13.1 Lance 和 LanceDB 的区别

问题答案
Lance 是数据库吗?更准确地说,Lance 是底层开放数据格式和表格式。
LanceDB 是数据库吗?是,LanceDB 提供数据库 API、检索、索引、表操作。
只用 Lance 可以吗?可以,如果你只关心数据格式和读写。
做应用更常用哪个?通常直接用 LanceDB,因为它封装了 Lance 并提供查询能力。

14. 一个完整多模态检索系统怎么跑起来

一个完整多模态检索系统的主链路

15. 最容易混淆的一组概念

概念不是它是
向量不是玄学,也不是人类可读标签模型输出的一串数字坐标
Embedding不是数据库,也不是索引内容被模型转换成向量后的结果
向量数据库不是大模型存向量并快速做相似搜索的系统
索引不是数据本身为了加速查询额外建立的结构
RAG不是单纯向量搜索先检索资料,再让大模型基于资料回答
Blob不是向量图片/视频/音频/PDF 的原始 bytes
Lance不是模型多模态 AI 数据格式和表格式
LanceDB不是 embedding 模型管理 Lance 表并提供检索能力的数据库

16. 代码里的变量名怎么理解

● ● ●

16.1 常见变量名

变量名通常含义大白话
dbdatabase connection数据库连接
tbl / tabletable handle一张表的操作对象
datarows to insert准备写入的数据行
vectorembedding vector内容的数字坐标
queryuser input用户输入的问题、文字或图片
query_vectorembedding of query用户输入转换成的向量
metadataextra fields标签、来源、时间、权限等描述信息
schematable structure表结构:有哪些列,每列什么类型
indexquery acceleration structure查询加速结构
blobbinary large object图片/视频等文件 bytes

● ● ●

16.2 一段代码逐句翻译

import lancedb

# 连接一个本地数据库目录
db = lancedb.connect("./my_db")

# 准备两条数据,每条都有文本和向量
data = [
    {"id": 1, "text": "一只猫", "vector": [0.1, 0.2, 0.3]},
    {"id": 2, "text": "一只狗", "vector": [0.2, 0.1, 0.4]},
]

# 创建一张表,把数据写进去
tbl = db.create_table("animals", data=data, mode="overwrite")

# 用户 query 也会被转成一个向量;这里用假向量示例
query_vector = [0.1, 0.2, 0.31]

# 找最相似的 1 条
result = tbl.search(query_vector).limit(1).to_list()

翻译成人话:

  1. 1.打开数据库。
  2. 2.准备两条动物数据。
  3. 3.每条数据都有一个向量,代表它的语义位置。
  4. 4.把这些数据写入表。
  5. 5.把用户输入也变成向量。
  6. 6.在表里找和用户向量最接近的那条。

17. 你现在应该怎么建立理解

先不要陷入 IVF、PQ、HNSW、ColPali 这些细节。先牢牢记住主线:原始内容 → 模型 → Embedding 向量 → LanceDB 存储 → 相似度检索 → 返回结果 / 给大模型生成答案

● ● ●

17.1 学习顺序建议

  1. 1.先理解向量和 Embedding:它们是“语义坐标”。
  2. 2.再理解相似度搜索:找坐标接近的数据。
  3. 3.再理解向量数据库:高效存储和查找这些坐标。
  4. 4.再理解多模态:图片、文本、音频、视频都能变成坐标。
  5. 5.最后理解 Lance:它把原始内容、坐标、标签、版本和训练读取放到同一套数据层。

● ● ●

17.2 面试/汇报时可以这样说

多模态检索系统的核心是把不同形态的数据通过模型编码成向量,让文本、图片、音频等内容进入同一个或可比较的语义空间。查询时也编码成向量,再通过向量数据库做近邻搜索,并结合关键词检索和 metadata 过滤提升准确性。Lance/LanceDB 的价值在于把原始多模态数据、Embedding、元数据、索引和版本管理统一在一个面向 AI 工作负载优化的数据层里。

18. 最后用一个生活类比收尾

假设你有一个巨大的素材仓库:

  • 原始图片/视频/文档 = 仓库里的实物。
  • Embedding = 每个实物的“特征标签卡”,但这张卡是数字形式。
  • 向量空间 = 所有标签卡摆放的地图。
  • 向量检索 = 在地图上找离用户需求最近的物品。
  • 全文检索 = 按名字、品牌、文字关键词找。
  • Metadata filter = 只看某个仓库、某个时间、某个权限范围内的东西。
  • Lance = 设计这个仓库的货架和存储格式。
  • LanceDB = 仓库管理系统 + 搜索系统。
✅ 理解到这一步,你再回头看 Lance 的技术文档,里面的 vector、embedding、blob、schema、index、hybrid search 就不再是孤立名词了,而是一条完整数据链路里的不同环节。
基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-07-03 13:21:57 HTTP/1.1 GET : https://www.yeyulingfeng.com/a/830032.html
  2. 运行时间 : 0.335693s [ 吞吐率:2.98req/s ] 内存消耗:4,782.82kb 文件加载:145
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=599f3d9eac7945c8413919025012ca9f
  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.000624s ] mysql:host=127.0.0.1;port=3306;dbname=wenku;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000756s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000316s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.007650s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000785s ]
  6. SELECT * FROM `set` [ RunTime:0.003998s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000884s ]
  8. SELECT * FROM `article` WHERE `id` = 830032 LIMIT 1 [ RunTime:0.026467s ]
  9. UPDATE `article` SET `lasttime` = 1783056117 WHERE `id` = 830032 [ RunTime:0.000936s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 64 LIMIT 1 [ RunTime:0.000272s ]
  11. SELECT * FROM `article` WHERE `id` < 830032 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.014081s ]
  12. SELECT * FROM `article` WHERE `id` > 830032 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.008023s ]
  13. SELECT * FROM `article` WHERE `id` < 830032 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.074867s ]
  14. SELECT * FROM `article` WHERE `id` < 830032 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.055369s ]
  15. SELECT * FROM `article` WHERE `id` < 830032 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.054289s ]
0.337631s