TONY 发表于 2026-08-29 14:16:58

老站提速干货:discuz数据库清理实操指南

玩过十几年老站的朋友,应该都懂那种痛。你的discuz论坛,本来跑的好好的,慢慢就越来越卡,后台点个用户管理要等半分钟,百度蜘蛛爬都爬不动。换了高配服务器,加了带宽,还是没起色。

我五年前就踩过这个坑,当时我那个10年的电影资源站,数据库快9个G,我一直以为是帖子多了正常,后来才发现,八成都是没用的垃圾数据。清完之后直接缩到1.3G,全站秒开,蜘蛛抓取频率直接翻了三倍。


你根本想不到,discuz垃圾数据都藏在哪


很多新手站长清数据库,就只会点一下后台更新缓存,清完该卡还是卡。那是因为你没找对藏垃圾的地方。


首当其冲的就是common_session会话表,这个表存的是游客和用户的临时登录会话,正常来说过期就该清,但是很多站长从来没开自动清理,跑个三五年,这个表能轻松攒下几百万行数据,实际有用的不超过一千行,硬生生占几个G的空间。


然后是删帖残留。你删了几十万广告灌水帖,只删了主帖,对应的回帖记录、tag标签、附件索引、统计数据全留在数据库里。一分钱用没有,就是占地方。


早年discuz插件疯长,你装了又删,删插件的时候插件根本不会把自己建的表带走,一堆乱七八糟的遗留表,什么签到日志、抽奖记录、推广统计,堆在那,没人管,就是吃空间。


还有搜索缓存、临时草稿、过期验证码、第三方登录日志...杂七杂八加起来,能占到整个数据库的七成以上。


https://obgeo.oss-cn-beijing.aliyuncs.com/pvc-articles/590c5a9e-2e71-4588-a5be-b89deefcc425.jpg

discuz数据库多余垃圾表列表


动手前必做:别上来就删,先把这两步做扎实


我第一次清理的时候,手忙脚乱看错表,差点把整个用户表删了,那叫一个欲哭无泪。最后是靠备份找回来的,折腾了我一整夜。


所以先把规矩说在前头:不管你多急,先做全量备份,备份完再备份一次。别信什么增量备份,直接把整个数据库导出来,一份存本地,一份存云盘,双保险。哪怕删错了,十分钟就能恢复,这点时间真的省不得。


第二步,先查清楚哪个表是垃圾,再动手。怎么查?进phpMyAdmin,按表大小排序,一眼就能看出不正常的表。正常的common_session表一天才几百行,你几十万行,那肯定就是垃圾。


https://obgeo.oss-cn-beijing.aliyuncs.com/pvc-articles/0f3f4c86-4199-4ccd-bb6a-ca5996a3bfcc.jpg

phpMyAdmin查看discuz表大小教程截图


说实话,我见过最离谱的一个站长,forum_search_searchindex表快5个G,他早就不用自带搜索改用阿里云搜索了,那个表留着纯纯占地方。


还有,清之前把论坛开维护模式,关了前台发帖,别你清一半,用户发新帖写数据,容易出乱子,也就几十分钟的事,用户都能理解。


分类型清理:亲测十年安全的实操步骤


https://obgeo.oss-cn-beijing.aliyuncs.com/pvc-articles/25078d48-5167-4639-8c8a-d087a2fe0032.jpg

分类型清理:亲测十年安全的实操步骤


接下来就是动手了,我把分好类,安全的操作给你列出来,照着来就行,不会错。


第一步,清会话缓存,这个是立竿见影的。直接跑SQL:TRUNCATE TABLE `pre_common_session`; 记住把pre改成你自己的表前缀,别直接抄。清完你再看数据库大小,立马能掉一大块。


第二步,清无关联的垃圾tag和搜索缓存。如果你早就不用自带的站内搜索,直接清空搜索缓存表:DELETE FROM `pre_forum_search_cache`; 然后清没用的空tag:DELETE FROM `pre_common_tag` WHERE total=0; 这个绝对安全,total是0说明没有帖子关联这个tag,留着没用。


第三步,清插件遗留烂表。这个要仔细点,凡是表名带着你早就删掉的插件名,比如pre_qiandao_log、pre_choujiang_data这种,你确定插件不用了,直接drop table删掉就行,别心疼。不确定的就去搜一下discuz默认表名对照表,别碰核心表就行。


第四步,清已删帖子的残留。很多人删了广告帖就扔回收站,忘了彻底清空!对,就是后台那个回收站,进去点永久删除所有内容,这一步清完能少好多数据。还有失效的附件索引,跑这个:DELETE FROM `pre_forum_attachment` WHERE `filesize` = 0; 清的都是已经删了附件还留在表中的索引,安全。


清完之后,再走一遍后台的更新缓存,重启一下数据库服务,你再打开后台试试。


我上次清完,原来8.7G的数据库直接缩到1.1G,原来点一下要等三十秒,现在点什么都是秒开。第二个月看百度统计,抓取错误直接降了九成,收录涨了小两千,真的比花几千块升级服务器有用多了。


不过话说回来,不确定的表绝对不要乱删,核心的用户表、主帖子表碰都别碰,宁肯留着也别瞎动。半年清一次,一次花一个小时,就能让你的老discuz站再活好几年。


对吧,玩老站都是玩情怀,别让一堆垃圾数据把站拖死了。

优必达客服 发表于 2026-08-29 14:56:29

很多建议都很接地气,能直接用在生活或工作中,实用性很强。

sssmro 发表于 2026-08-29 15:26:34

说得很客观中立,没有偏激言论,理性讨论就该是这个样子。

老前辈 发表于 2026-08-30 11:08:54

内容干货满满,没有多余废话,对有需要的人来说帮助真的很大。

punker 发表于 2026-08-31 08:16:10

楼主的经历很有参考价值,给了我很多新的思考方向,非常感谢。

jxwscz 发表于 2026-08-31 11:02:26

已经推荐给朋友来看了,好东西就应该一起分享一起学习。

liu晴 发表于 2026-08-31 12:47:21

感谢楼主带来这么好的内容,在论坛里能学到东西真的很开心。

萌小妞。 发表于 2026-08-31 16:27:08

cbm518 发表于 2026-09-01 06:29:12

之前一直半知半解,看了你的解释一下子就明白了,讲得通俗易懂。

样样 发表于 2026-09-01 11:19:04

对这个话题有了更全面的认识,不再只停留在表面理解。

topwestlife 发表于 2026-09-01 11:29:47

很多点我之前都没想到,楼主一提醒才恍然大悟,收获很大。

安静_/__幸福 发表于 2026-09-01 11:55:47

很多细节都考虑到了,看得出来是真正懂行的人在认真分享。

神战 发表于 2026-09-02 11:02:40

对新手特别友好,解释得很细致,就算零基础也能看懂大半。

动物药业 发表于 2026-09-02 15:34:49

这样的优质帖子越多越好,希望论坛能多一些这样真诚的交流。
页: [1]
查看完整版本: 老站提速干货:discuz数据库清理实操指南