WordPress优化数据库加速:清理wp_commentmeta和wp_postmeta表

现在网上众多免费开源CMS程序中,WordPress是不错的网站程序。但是缺点,就是如果我们不加以优化和定期维护,会发现速度越来越慢。或者我们会发现数据库会随着网 站的时间越来越大。我们从phpMyAdmin数据库管理中看到wp_commentmeta和wp_postmeta表会比较大,这两个表是否可以优化呢?

1、wp_commentmeta

尤其是使用Akismet评论防护插件之后,wp_commentmeta数据表会变得越来越大,甚至比我们文章数据库还要大。建议我们还是不要用这个插件,或者我们用这个插件之后要定期清理。

我们直接清理删除wp_commentmeta数据表内容就可以,不要删除这个字段。不过确保万无一失,我们建议还是提前备份好数据库,清理后也没有不良反应。

2、wp_postmeta

wp_postmeta 数据表是WordPress中存储文章附带信息的,除了一些特定的情况下,里面的数据是没有用的,下面在给出几条语句让你的 wp_postmeta 表变得干净。

操作之前请先备份数据库。然后执行下面的SQL语句清理和优化 wp_postmeta 数据表中的垃圾文件和缓存。

下面两条语句测试安全删除无危险。

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}}';

这五条语句执行完毕能够删除掉95%以上的数据,算的上是极限优化了。通过上面对 wp_postmeta 数据表的优化和清理,我们的数据库瘦身不少,执行效率也有所提升。

注意,如果你的网站安装时配置了数据库的表前缀(请到网站根目录wp-config.php中查看$tableprefix参数),如果不是“wp”,则需要将上面几条SQL的表前缀修改为自定义的(如:$table_prefix = ‘test_wp’,则上方SQL的表名需要改为 “test_wp_postmeta”