优化 WordPress 数据库,提高 WordPress 速度
- - 我爱水煮鱼WordPress 的机制是主要使用 wp_posts 表来存储所有数据,包括日志,页面,附件,导航菜单等等,所以 WordPress 使用了一定时间之后,数据量一大还是有点慢,除了 对 WordPress 进行全方面的优化之外,我们还可以对数据表进行减肥和优化,来提高 WordPress 的速度.
WordPress 的机制是主要使用 wp_posts 表来存储所有数据,包括日志,页面,附件,导航菜单等等,所以 WordPress 使用了一定时间之后,数据量一大还是有点慢,除了 对 WordPress 进行全方面的优化之外,我们还可以对数据表进行减肥和优化,来提高 WordPress 的速度。
日志修订是所有速度慢的罪恶之源,几百篇日志会有几千条日志修订的记录,所以用力删除把,提速效果非常明显:
DELETE a,b,c FROM wp_posts a LEFT JOIN wp_term_relationships b ON (a.ID = b.object_id) LEFT JOIN wp_postmeta c ON (a.ID = c.post_id) WHERE a.post_type = 'revision'
日志修订不是好东西,你可以关闭它或者限制数据库存的修订个数:
关闭日志修订:
define('WP_POST_REVISIONS', false);
限制日志修订为最新的3个:
define('WP_POST_REVISIONS', 3);
对 MySQL 数据记录进行插入、更新或删除时,会占有不同大小的空间,记录就会变成碎片,且留下空闲的空间。就像具有碎片的磁盘,会降低性能,需要整理,因此要优化。
OPTIMIZE TABLE wp_posts;
不用到后台一条一条删除,只需下面一条 MySQL 即可:
DELETE FROM wp_comments WHERE comment_approved != '1';
不再使用的标签,WordPress 是不会自动删除的,需要人工清理下:
DELETE a,b,c FROM wp_terms AS a LEFT JOIN wp_term_taxonomy AS c ON a.term_id = c.term_id LEFT JOIN wp_term_relationships AS b ON b.term_taxonomy_id = c.term_taxonomy_id WHERE ( c.taxonomy = 'post_tag' AND c.count = 0 );
可能日志的记录已经删除了,但是日志扩展表 postmeta 里面的数据还没有删除,也人工清理下吧:
DELETE pm FROM wp_postmeta pm LEFT JOIN wp_posts wp ON wp.ID = pm.post_id WHERE wp.ID IS NULL
>>> 继续阅读全文 ...
欢迎关注我们关于 WordPress 技巧的微博: 新浪微博 腾讯微博
© 我爱水煮鱼 / 收藏本文 / 0条评论 / RSS 订阅 / 长期承接 WordPress 项目 / 主机域名优惠码 / 新浪微博