理解数据库结构对于进行二次开发、数据迁移、性能优化或排查问题至关重要,织梦的文章内容主要存储在几个核心表中,它们之间通过关联字段(如 id)紧密联系。

(图片来源网络,侵删)
核心数据表概览
系统主要由以下几个表构成:
dede_archives:文章主表,存储文章的基本信息,如标题、作者、发布时间、所属栏目等。dede_addonarticle:文章附加表,存储文章的具体内容(正文)。dede_arctype:栏目表,定义网站的栏目结构。dede_arctiny:微表,用于高性能调用文章列表,只包含最核心的几个字段。dede_taglist/dede_tagindex:标签表,用于实现文章标签功能。
下面我们逐一详解每个表的结构和作用。
dede_archives (文章主表)
这是文章系统的核心,每篇文章都会在这里有一条记录。
| 字段名 | 类型 | 说明 |
|---|---|---|
id |
int(11) | 文章ID,主键,自增,唯一标识一篇文章。 |
typeid |
int(11) | 栏目ID,关联 dede_arctype 表的 id 字段,表示文章所属的栏目。 |
typeid2 |
int(11) | 副栏目ID,可选,用于文章属于多个栏目。 |
sortrank |
int(11) | 排序权重,数字越大,排序越靠前,常用于首页、栏目页的排序。 |
flag |
char(30) | 属性/标识,用逗号分隔的字符,如 c,h,p(推荐、头条、图片),用于在模板中判断文章类型。 |
ismake |
smallint(6) | 是否生成静态页。1 表示已生成,0 表示未生成。 |
channel |
int(11) | 模型ID,指定文章所使用的模型(普通文章、图集、软件等)。 |
arcrank |
smallint(6) | 审核状态。0 为已审核,-1 为待审核,-2 为禁用。 |
click |
int(11) | 点击量,记录文章的浏览次数。 |
money |
decimal(10,2) | 售价,用于付费阅读。 |
shorttitle |
varchar(255) | ,可用于列表页显示。 |
color |
varchar(10) | 标题颜色,用于设置标题的显示颜色。 |
writer |
varchar(30) | 作者。 |
source |
varchar(50) | 来源。 |
litpic |
varchar(100) | 文章缩略图,即文章的封面图。 |
pubdate |
int(11) | 发布时间,Unix时间戳格式。 |
senddate |
int(11) | 录入时间,Unix时间戳格式。 |
mid |
int(11) | 录入员ID,关联后台管理员ID。 |
keywords |
varchar(255) | ,用于SEO和搜索。 |
lastpost |
int(11) | 最后评论时间,Unix时间戳。 |
scores |
decimal(10,2) | 积分。 |
goodpost |
mediumint(8) | 好评数。 |
badpost |
mediumint(8) | 差评数。 |
voteid |
int(11) | 投票ID。 |
notpost |
smallint(6) | 是否允许评论。0 允许,1 不允许。 |
description |
varchar(500) | 文章摘要。 |
filename |
varchar(255) | 自定义文件名,用于生成静态页时的文件名。 |
dede_addonarticle (文章附加表)
这个表专门用来存储文章的正文内容,它的设计遵循了织梦的“模型分离”思想,主表存元数据,附加表存具体内容。

(图片来源网络,侵删)
| 字段名 | 类型 | 说明 |
|---|---|---|
aid |
int(11) | 文章ID,外键,关联 dede_archives 表的 id 字段,通过这个字段,可以将附加表的内容与主表的信息对应起来。 |
body |
mediumtext | 文章正文,存储文章的全部HTML内容,这是文章内容的核心。 |
templet |
varchar(30) | 自定义模板,可以为单篇文章指定特殊的显示模板。 |
为什么需要附加表?body)通常很长,而文章主表(archives)需要频繁用于列表查询(如获取标题、时间、点击量等),如果将长正文也放在主表中,会严重拖慢列表查询的速度,分离后,查询列表时只需要操作轻量级的 archives 表,需要显示正文时再通过 aid 关联查询 addonarticle 表,这是一种典型的数据库优化策略。
dede_arctype (栏目表)
存储网站所有栏目的信息。
| 字段名 | 类型 | 说明 |
|---|---|---|
id |
int(11) | 栏目ID,主键,自增。 |
reid |
int(11) | 父栏目ID,0 表示顶级栏目,用于构建栏目树状结构。 |
topid |
int(11) | 顶级栏目ID。 |
sortrank |
int(11) | 栏目排序。 |
typename |
varchar(50) | 栏目名称。 |
typedir |
varchar(100) | 栏目目录,用于生成URL路径。 |
isdefault |
smallint(6) | 是否为默认栏目。 |
defaultname |
varchar(20) | 默认页名称。 |
issend |
smallint(6) | 是否允许发布文章。 |
channeltype |
int(11) | 栏目类型/模型ID。 |
maxpage |
int(11) | 列表分页最大页数。 |
ispart |
smallint(6) | 是否为外部链接。1 是,0 否,如果是,corank 字段存放链接地址。 |
corank |
varchar(100) | 链接地址,当 ispart=1 时生效。 |
description |
varchar(500) | 栏目描述。 |
keywords |
varchar(255) | 栏目关键词。 |
moresite |
smallint(6) | 是否开启多站点。 |
siteurl |
varchar(255) | 站点根网址。 |
sitepath |
varchar(255) | 站点根目录。 |
modname |
varchar(50) | 模型。 |
dede_arctiny (微表)
这是一个为了极致性能而设计的表,只包含文章最核心、最常用的几个字段。
| 字段名 | 类型 | 说明 |
|---|---|---|
id |
int(11) | 文章ID,主键。 |
typeid |
int(11) | 栏目ID。 |
arcrank |
smallint(6) | 审核状态。 |
click |
int(11) | 点击量。 |
senddate |
int(11) | 发布时间。 |
mid |
int(11) | 录入员ID。 |
用途:
在首页、频道页等需要调用大量文章标题列表的地方,织梦会优先查询这个轻量级的 arctiny 表,速度极快,如果需要获取摘要、缩略图等信息,再通过 id 去查询 archives 表。

(图片来源网络,侵删)
标签相关表 (dede_taglist, dede_tagindex)
-
dede_tagindex(标签索引表): 存储所有标签的基本信息。id: 标签ID (主键)tagname: 标签名称count: 使用该标签的文章数量
-
dede_taglist(标签列表表): 存储文章与标签的对应关系(多对多)。aid: 文章ID (外键, 关联archives.id)tagid: 标签ID (外键, 关联tagindex.id)typeid: 标签所属栏目ID
这个设计允许一篇文章有多个标签,一个标签也可以属于多篇文章。
数据关联流程示例
假设要显示一篇“文章详情页”:
- URL解析:用户访问
https://www.example.com/a/123.html。123是文章ID。 - 查询主表:系统首先查询
dede_archives表,WHERE id = 123,获取文章的标题、作者、发布时间、缩略图、所属栏目ID (typeid) 等所有元数据。 - 查询附加表:根据上一步获取的
id(123),再查询dede_addonarticle表,WHERE aid = 123,获取文章的正文 (body) 内容。 - 查询栏目信息:根据
typeid,查询dede_arctype表,获取当前文章所在栏目的名称、目录等信息,用于面包屑导航等。 - 组合输出:将获取到的所有数据(标题、正文、作者、栏目信息等)填充到详情页模板(
article_article.htm)中,最终生成HTML页面返回给用户。
重要提示
- 表前缀:默认表前缀是
dede_,但在安装时可以自定义,如果你的表前缀不是dede_,请将上述所有表名替换为你自己的前缀。 - 模型扩展:
dede_addonarticle是“文章模型”的附加表,如果你安装了其他模型,如图集模型、软件模型等,它们会有自己对应的附加表,如dede_addonimages、dede_addonsoft等,结构类似,但body字段会替换为该模型特有的字段(如imgurls)。 - 数据安全:直接操作数据库有风险,建议在操作前进行完整备份。
希望这份详细的解析能帮助你彻底理解织梦CMS的文章内容数据库结构!
