无有他奇,只是恰好。无有他异,只是本然

清理WordPress数据库冗余数据

技术文档 13659浏览 0评论
文章目录[隐藏]

WordPress 3.4 数据表(11项)

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数据表

清除步骤

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
    

参考来源

转载请注明:自由的风 » 清理WordPress数据库冗余数据

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

网友最新评论 (1)

  1. 这些都有工具好删,主要是Options表,比较难清理

    liton2013-03-14 10:42 回复