wp_postmeta清理
https://awy.me/2011/03/improve-the-speed-of-wordpress-database-clean-optimization/
wp_postmeta是文章的元信息表,其数据是系统或者插件使用
冗余原因
(1)文章被删除之后,其在wp_postmeta中的数据理应被删除,在系统中多数情况是系统自动删除,但是由于人为删除文章,系统不知道被删除,就不会删除wp_postmeta表中的数据,造成冗余
(2)很多主题、插件没有做好及时清除的工作
解决办法:
(1) 手动删除
(1.0)规矩删除
删除文章中不存在文章的元信息
DELETE FROM wp_postmeta WHERE post_id NOT IN (SELECT post_id FROM wp_posts);
(1.1)安全删除
删除_edit_lock和_edit_last条目是安全的,所以这里给出SQL语句
DELETE FROM wp_postmeta WHERE meta_key = ‘_edit_lock’;
DELETE FROM wp_postmeta WHERE meta_key = ‘_edit_last’;
(1.2)风险删除
除了这两条还执行了一些其他语句由于有些风险:自己酌情考虑
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}}’;
(1.3)特殊插件删除
postnav插件会记录每个文章的访问数,如果不需要,可以删除
DELETE FROM wp_postmeta WHERE meta_key = ‘views’;
(1.4)特殊操作删除
在WordPress的后台上传图片或者附件后会在wp_postmeta中生成_wp_attached_file和_wp_attachment_metadata两个项,wp_posts也会记录附件的信息。
如果使用FTP工具上传文件,表中就不会有这些信息。