你现在的位置:首页 > PHP网站建设知识库 > WordPress > 正文

WordPress数据库优化技巧

各位站长都知道wordpress用久了就会越来越慢。今天就给大家介绍如何给自己的wordpress提速,分两种方法:

1.插件

属性wordpress的都知道其插件是相当的多,只要你能想得到的基本都有,在这给大家介绍几个小编知道的插件:WP-Clean-Up、WP-Optimize、WP-Cleaner、DB-Manger等。
简单介绍哈WP Clean Up这个插件的使用,首先将插件包放在插件目录下在后头启用插件即可
在这里可以很方便地删除“修订版本”、“草稿”、“自动草稿”、“待审评论”、“垃圾评论”,“回收站评论”这些无用的数据,可以逐项删除也可以点击“删除所有”按钮一键删除所有无用数据;第二个表格功能是优化数据库,在这里可以优化数据库中的所有表,这个功能与phpMyAdmin中的“优化表”效果是一样的,省得大家上phpMyAdmin了。
其他的几个插件大家可以自己下载下来玩哈,功能都差不多。

2.自己手动删除

自己手动删除需要大家知道mysql数据库的操作或者说你会php写个脚本文件运行,这里主要介绍需要删除的几个sql语句,至于用大家可以自己根据具体情况采取相应方法。
首先给大家介绍下wp的posts表中的几个字段:post_type:文章类型,post表示为文章,revision表示为修订版本,page为页面,attachment是文章的附件信息,nav_menu_item是菜单,如果大家有自定义类型的就是自己定义的名称。
post_status:文章状态,inherit是继承的附件和文章的附带信息,publish是已经发布、private是私有的,draft是草稿,auto-draft是自动草稿,trash是在回收站。

主要的sql语句有:
DELETE FROM wp_posts WHERE post_type = ‘revision’; 这句主要是删除posts表中文章为修订版本的,如果你对自己的网站很熟悉的话可以加上自己的自定义类型用下面一句。
DELETE FROM  wp_posts WHERE NOT(post_status = ‘publish’ AND post_type IN(‘post’,'nav_menu_item’,'custom post type tag’,'page’));表示删除除了后面括号里面列举的外并且是已发布的。
DELETE FROM wp_postmeta WHERE post_id NOT IN (SELECT post_id FROM wp_posts);删除文章中不存在文章的元信息。
一下两句是删除_edit_lock和_edit_last条目
DELETE FROM wp_postmeta WHERE meta_key = ‘_edit_lock’;
DELETE FROM wp_postmeta WHERE meta_key = ‘_edit_last’;

最后是表的优化:
(1)在phpmyadmin手动 优化或者修复表即可
(2)运行SQL:
OPTIMIZE TABLE wp_commentmeta;
OPTIMIZE TABLE wp_comments;
OPTIMIZE TABLE wp_links;
OPTIMIZE TABLE wp_options;
OPTIMIZE TABLE wp_postmeta;
OPTIMIZE TABLE wp_posts;
OPTIMIZE TABLE wp_terms;
OPTIMIZE TABLE wp_term_relationships;
OPTIMIZE TABLE wp_term_taxonomy;
OPTIMIZE TABLE wp_usermeta;
OPTIMIZE TABLE wp_users;
(3)插件:Optimize DB

除了以上数据库优化外,还有很多优化,如果还想给wp提速的话,可以考虑缓存等等。