WordPress数据库表说明-利剑分享-科技生活

WordPress数据库表说明

WordPress的文章、评论等很多数据都是存放在数据库的,每当在WordPress编辑文章的时候会生成一些文章修订版本信息、自动保存文章草稿等无用数据,还有更换主题,删除插件也会将数据留在数据库中,在卸载后无法被清理。会造成WordPress数据库中增加很多冗余的数据信息,占用比较大的数据库缓存。而随着WordPress网站使用的时间越久,网站数据库中堆积的冗余数据信息越来越多,数据查询越来越慢,从而导致WordPress有大量无用的垃圾数据使数据库负担沉重,数据库运行起来越来越慢,并且也会造成网站访问速度缓慢,网页打开的速度变慢,丧失用户的良好体验度。所以,需要定期清理和优化WordPress数据库中的冗余数据,从而保证WordPress数据库运行的效率和网站的访问速度。

WordPress数据库表说明

wp_commentmeta 用于保存评论的元信息,在将评论放入回收站等操作时会将数据放入此表,Akismet等垃圾评论标识插件也会生成数据到此表。此表不太重要
wp_comments 用于保存评论信息的表
wp_links 用于保存用户输入到Wordpress中的链接(通过Link Manager)的表
wp_options 用于保存Wordpress相关设置、参数的表,里面包括了大量的重要信息(主题和插件的各种参数、设置)
wp_postmeta 用于保存文章的元信息(meta)的表
wp_posts 用于保存你所有的文章相关信息的表,非常的重要。一般它存储的数据是最多的
wp_terms 文章和链接分类以及文章的tag分类可以在表里找到
wp_term_relationships 日志与wp_terms中的类别与标签联合起来共同存储于此表中。类别相关链接也存储在此表中
wp_term_taxonomy 该表对wp_terms表中的条目分类(类别、链接以及标签)进行说明
wp_usermeta 用于保存用户元信息(meta)的表,head的一些丰富元素信息会在此表记录
wp_users 用于保存Wordpress使用者的相关信息的表

提示:清理优化之前请先备份数据库,以防因失误带来的意外情况!只有做好备份工作才可以有备无患。

PS:主要涉及到的几张表:wp_options,wp_posts,wp_postmeta,wp_commentmeta

定期清理 wp_options 数据表

wp_options 这个数据表是wordpress设置的全局数据,主要存储的数据是和WordPress后台的设置对应(如博客名、博客地址、基本设置…等),平常在WordPress控制面板–设置 里进行的设置,都会对应的存储在这里。wp_options表里垃圾残留记录会随着时间慢慢积累直至臃肿庞大致使你的数据库执行效率低下拖慢你整个主机的运行。

造成 wp_options 表数据膨胀的主要原因是:

(1)在使用的过程中会经常安装、停用或者更换插件,或更换使用不同的主题,并且在使用插件和主题的过程中会在数据库 wp_options 表内增加大量的数据,包括一些冗余的垃圾数据(插件、主题在删除之后没有进行清理,造成残留的无用数据)

(2)占用数据的大户–RSS缓存,后台的数据调用竟然会放到数据库里面。在wp_options表中发现了大量option_name包含“_transient”的数据,那就是WordPress程序中引入RSSFeed后产生的缓存。正常的WordPress使用过程中,会不断产生这些数据,久而久之,就非常之庞大了

清理 wp_options 表的处理方法

(1)禁用RSS缓存:打开根目录 wp-config.php 配置文件里面设置。将下面代码添加上去。

(2)手动清理:进入phpmyadmin或者mysql命令行模式选择对应的数据库,执行下面mysql语句即可:

wp_options 表里的内容,特别是 _transient 、_site开始的都可以删除,这些是控制板订阅缓存(后台首页显示的订阅缓存,居然保存在wp_options表中,数量多体积大)

PS:可以使用插件 clean options 清理 wp_options 表中的垃圾数据。

清理 wp_posts 表(包括删除修订版本、自动草稿的文章数据)

wordpress的文章有好多:wp_posts表中包括文章种类:文章、修订版本、页面、文章的附件、菜单;其中每种文章又会有很多状态:继承、发布、私有、草稿、自动草稿、回收站。

wp_posts的重要字段含义

post_type(文章类型):post 表示为文章,revision 表示为修订版本,page 为页面,attachment 是文章的附件信息,nav_menu_item 是菜单。这里我们需要的是文章、页面、和菜单,除此之外的都可以删除。

post_status(文章状态):inherit 是继承的附件和文章的附带信息,publish 是已经发布、private 是私有的,draft 是草稿,auto-draft 是自动草稿,trash 是在回收站。这里我们需要的是publish的状态的(已经发布的文章、页面和菜单),除此之外的都可以删除。

PS:当然可以根据自己的需求选择删除哪些

造成 wp_posts 表中数据冗余原因:

(1)在博主写文章的时候,系统会保存很多的中间状态(如修订版本、自动保存等),在文章发布之后其很多的中间状态没有被删除。

(2)点击“写文章”或“新建页面”时产生的,每点击一次就生成一条“自动草稿(auto draft)”的冗余数据。

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享