首页
站长论坛BBS
救助
投稿
discuz视频教程
discuz技术支持
版块
登录
快速注册

清理WordPress数据库冗余数据

建站高手 2015-4-30 [wordpress] 来自PC 复制链接
53786
discuz使用视频教程
31idc

马上注册,一起探讨正确快速的建站方法

您需要 登录 才可以下载或查看,没有帐号?快速注册

x
wp_commentmeta:每个评论的特性信息称为元数据,并存储在wp_commentmeta,一般仅由Akismet插件生成。
wp_comments:每个评论是存储在wp_comments表。
wp_links:保存包含在WordPress Links feature部分的链接的相关信息。
wp_options:根据管理员设定的选项>设置面板中的设置存储的wp_options。
wp_postmeta:每篇文章的特性信息被称为元数据,它存储在wp_postmeta。有些插件可能会添加他们自己的信息到这个表里。
wp_posts:WordPress数据的核心。文章被存储在wp_posts表。
wp_terms:文章和链接分类以及文章的tag分类可以在wp_terms表里找到。
wp_term_relationships:与文章有关的分类、来自wp_terms表的tags以及这一关联存在于?
wp_term_relationships表里。链接与各自分类的联系也存储于这张表中。
wp_term_taxonomy:这张表描述了wp_terms表中每个条目的分类系统 (分类,链接,或tag)。
wp_usermeta:每个用户的信息被称为元数据,它是存储在wp_usermeta中。
wp_users:用户列表存在于wp_users表。
wordpress-database.png

1、使用phpMyadmin等数据库管理工具自动优化数据库

2、完整删除所有修订(自动保存)文档及其对象ID
    DELETE FROM wp_postmeta WHERE post_id IN (SELECT id FROM wp_posts WHERE post_type='revision');

    DELETE FROM wp_term_relationships WHERE object_id IN (SELECT id FROM wp_posts WHERE post_type='revision');

    DELETE FROM wp_posts WHERE post_type='revision';

一次性删除所有非已发布(即删除草稿和未审核的稿件)及其ID,若您选择这条代码的话可以不用执行上面的语句了

    DELETE FROM wp_postmeta WHERE post_id IN (SELECT id FROM wp_posts WHERE post_status!='publish');

    DELETE FROM wp_term_relationships WHERE object_id IN (SELECT id FROM wp_posts WHERE post_status!='publish');

    DELETE FROM wp_posts WHERE post_status!='publish';

3、清除文章控制标签

_edit_lock,_edit_last主要是避免多管理员同一时间编辑同一篇文章的控制标签,删除后若再次编辑文章此标签一样会再生成。
_wp_old_slug保存了文章旧的地址(固定链接),若打开符合里面的地址将永远301重定向到新地址。
_revision-control保存了修订版本的控制信息。
    DELETE FROM wp_postmeta WHERE meta_key = '_edit_lock';

    DELETE FROM wp_postmeta WHERE meta_key = '_edit_last';

    DELETE FROM wp_postmeta WHERE meta_key = '_wp_old_slug';

    DELETE FROM wp_postmeta WHERE meta_key = '_revision-control';

    DELETE FROM wp_postmeta WHERE meta_value = ‘{{unknown}}’;  //一般不用执行这句

4、清除评论Akismet插件动作信息记录

清除不存在的评论和信息记录。

DELETE FROM wp_comments WHERE comment_approved = ‘trash’;

DELETE FROM wp_commentmeta WHERE comment_id NOT IN (SELECT comment_id FROM wp_comments);

清除评论删除时间信息

DELETE FROM wp_commentmeta WHERE meta_key LIKE ‘%trash%’;
因为wp_commentmeta的内容主要是由Akismet插件操作,保存的都是一些信息类,而非内容,可以直接清除

TRUNCATE TABLE wp_commentmeta



上一篇:Nginx下解决“504 Gateway Time-out”的方法
下一篇:使用Redis来加速WordPress的方法
相信爱 发表于 2015-5-2 16:06:47 来自PC
强烈支持,站帮网有你更精彩
lelegoer 发表于 2015-5-21 23:03:32 来自PC
看到这帖子真是高兴!
miyukong.com yihaojiayuan,.com howdian.com
362938688 发表于 2015-5-22 12:05:09 来自PC
有你更精彩  楼主
www.yandaoqingxi.cn|www.jjpd888.com|www.jjjnews.top|www.bjxdc2001.com|www.gchb001.com|www.seoh.cn网站推广
lvguiqun 发表于 2015-5-23 13:13:47 来自PC
楼主,你写得实在是太好了 看了一遍又一遍
362938688 发表于 2015-6-2 16:48:14 来自PC
每个用户的信息被称为元数据,它是存储在wp_usermeta中。
www.yandaoqingxi.cn|www.jjpd888.com|www.jjjnews.top|www.bjxdc2001.com|www.gchb001.com|www.seoh.cn网站推广
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

快速回复 返回顶部 返回列表