如果经常安装插件或者更换主题,wordpress的数据库会变得很庞大,其中postmeta字段尤其臃肿,我的甚至能够占到总数据库大小的70%之多。

经过检查发现很多都是以前的插件或主题留下的meta信息,多数与文章ID附着。如果想要一个纯净的postmeta字段提高数据库查询效率,需要批量删除上万条记录。我做得比较彻底,只保留了媒体附件相关信息的3个meta-key相关条目。保证缩略图正常显示。结果非常理想,sql如下:

DELETE FROM `wp_postmeta` WHERE meta_key <> "_wp_attached_file" and meta_key <> "_wp_attachment_metadata" and  meta_key <> "_thumbnail_id"

不要照搬任何别人的sql语句执行,非常危险,操作前要记得备份,sql语句要根据自己情况修改。

当然,最好是不折腾。