Discuz!使用问题、建议、BUG等请到论坛反馈以便获得及时帮助,大型问题建议走付费途径。

帖子分表功能可以将帖子分在不同的数据表中,减轻单表的访问压力,提高网站运行效率,适合帖子数很多并且运行效率受到影响的站点使用。

此功能的设置位于:产品后台 => 站长 => 帖子分表

一、分表管理

帖子的分表有三种类型:主表、副表、存档表。其中主表必须有且只有一个,用于存放新主题的帖子;副表最多有一个,作为主表内容的补充,可与主表联合进行后台的进行批量更新、删除等操作;存档表可有任意多个,用于归档旧帖子,不参与后台的批量管理操作,但可以进行浏览、回复。

第一次访问帖子分表功能,会看到默认拥有一个主表,名称为pre_forum_post,此表为安装Discuz!X后的标准帖子表。

新添加的表会自动以“pre_forum_post_数字”的方式进行命名,无需人工干预。

如果当前主表内帖子过多,可以点击列表下方的“添加主表”创建一个新的主表。添加新的主表后,会影响之前的表类型设置,原来的主表将变成副表,原来的副表(如果存在)将变成存档表,新发的主题帖将存放在新的主表中。

点击列表下方的“添加存档表”,便可以添加一个新的存档表,添加存档表不会影响之前的表类型设置。

通过每个分表后面的类型,可以重新设置该表的表类型,设置好后,点击列表下方的“更新表类型”来保存修改。

“重置 Post ID”用于重新计算当前所有帖子表中pid的最大值,这个值加1便是下一个新帖子的pid。例如计算出当前所有帖子表中pid的最大值位1000,某一个用户的一个新回复的帖子pid便是1001。

点击每个帖子分表后面的“删除”可以删除该分表,只有空表可以被删除。当主表被删除后,列表中的最后一个分表会自动成为主表。

二、帖子移动

使用“帖子移动”功能可以在各个分表之间移动帖子。帖子移动涉及大量的数据转移,需要关闭论坛后使用。为防止数据库在移动过程中出现问题,请先进行数据备份。

移动帖子需要两步:

1、根据提供的条件搜索出要移动的主题帖

“在以下主题 (thread) 表中检索”会列出主题表存在的所有分表,指定其中一个主题分表,在其中进行搜索。

“所在分表”会列出帖子表存在的所有分表,指定其中一个主题分表,在其中进行搜索。

点击“更多选项”会出现更多搜索条件。

2、选择搜索出的帖子,然后选择目标分表,进行帖子移动。

移动操作可能需要一段时间,请耐心等待。

移动之后,可以从分表管理的分表列表中查看到每个分表的帖子数。

{lang scrolltop}