在做 WordPress开发的时候,我们经常要进行大量的数据库调试,当我们直接在数据库中删除一篇文章的时候,该文章的自定义字段数据不会随文章一起被删除。没有所属的文章,这些孤立的 Post Meta 数据就再也没有被访问的机会了。如果这样的孤立文章元数据非常多,会给数据库造成不必要的负担。清理掉这些数据,有助于 WordPress 数据库性能的提升。
方法一、直接通过 SQL 命令进行清理
我们可以通过 SQL 命令批量删除这些数据。直接在 PhpMyadmin 或其他 MySQL 数据库管理工具中执行以下命令即可清理这些无用的数据。
DELETE pm
FROM wp_postmeta pm
LEFT JOIN wp_posts wp ON wp.ID = pm.post_id
WHERE wp.ID IS NULL
在执行 MySQL 操作之前,不要忘记备份整个 WordPress 数据库,以便在出现错误的时候恢复。
方法二、使用 Easy WP Cleaner 数据库清理插件进行清理
并不是每个 WordPress 站点都可以通过 SQL 命令管理,也并不是每个用户都会使用 SQL 命令操作数据库。除了使用 SQL 命令的方法,我们可以通过一个数据库清理插件清理这些无用的数据。我们经常使用 Easy WP Cleaner 数据库清理插件 进行清理。
该插件的使用方法非常简单,安装插件后,直接点击插件管理页面的删除按钮就可以执行数据库清理操作了。除了清理 Post Meta 中的无用数据,该插件还可以清理其他类型的孤立数据、无用的评论数据、文章草稿、版本等数据。推荐大家使用这个方式。
如果数据库中的这类孤立数据非常多,清理掉这些数据之后,我们会发现数据库小了一些,并且在有些查询的时候,性能也会有所提升。