wordpress3.3.2数据库结构分析及简单优化
阅读前,请注意:这里的wordpress版本是3.3.2。由于wordpress版本的更替,不同版本之间的数据库设计会有所区别,但是总体上基本是一致的。一、wordpress3.3.2数据库结构设计描述
wp_users用户基本信息表
wp_usermeta用户额外信息表
wp_comments评论表
wp_commentmeta评论元数据,其实主要是插件Akismet的记录,Akismet会记录把每个评论的修改记录,主要是你批准了某个评论,删除 某个评论,审核通过某个评论的各种历史记录,Akismet插件虽然强大,但是会造成该表的臃肿。
wp_links链接信息表
wp_options基本配置信息表,由于该表通常作为插件存储数据的一个地方,所以该表也是可能造成数据库臃肿的。
wp_posts文章信息表,由于编辑文章时wordpress会自动保存草稿,所以会存有很多历史版本的数据,也会造成数据库臃肿。
wp_postmeta文章的一些元信息,比如文章最后一次编辑时间等,但是由于主题的多样性,一些主题可能会保存一些文章的相关信息到 该表中,所以删除某些数据前务必确定对文章没有影响。比如一些主题会把,文章中出现的图片的alt值保存在该表中。
wp_terms分类信息表,其实存放着分类、标签、链接信息
wp_term_taxonomy决定wp_terms中的分类属于category文章分类、post_tag文章标签、link_category链接分类三个中的哪个。
wp_term_relationships分类关联表,其object_id与文章wp_posts的ID关联,即object_id就是wp_posts表的ID,然后与wp_term_taxonomy表的 term_taxonomy_id关联,从而知道某篇文章到底属于哪个分类、哪个标签,哪个链接属于哪个分类。
二、wordpress3.3.2数据库简单优化
经上数据库分析,可知需要优化清理的表有wp_commentmeta、wp_options、wp_posts、wp_postmeta四个表。
***清理wp-commentmeta表*** akismet插件保存的评论修改记录
[*] delete from wp_commentmeta where meta_key='akismet_history';
***清理wp_posts表----自动保存草稿,历史版本***
暂时觉得revision类型的文章的post_status不可能是publish
[*] delete from wp_posts where post_type='post' and post_status='auto-draft';
[*] delete from wp_posts where post_type='revision' and post_status!='publish';
***清理wp_options表***
不同的rss插件保存的前缀不同,下面的前缀只是针对我的插件而已,有的插件前缀是_rss,注意举一反三,不要盲目照搬。
[*] delete from wp_options where option_name LIKE "_transient%";
[*] delete from wp_options where option_name LIKE "_site%";
***清理wp_postmeta***
好像是关于文章的最后编辑时间、锁定信息的,不太清楚,但是网上大多的资料都说可以如下删除,99%不会出错。
[*] delete from wp_postmeta where meta_key = ‘_edit_lock’;
[*] delete from wp_postmeta where meta_key = ‘_edit_last’;
本文到此结束,再次提示,优化数据库请务必做好备份,务必确定不会影响你使用的主题,切记切记。
原文链接: wordpress3.3.2数据库结构分析及简单优化
页:
[1]