前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >优化 WordPress 数据库,提高 WordPress 速度

优化 WordPress 数据库,提高 WordPress 速度

作者头像
Denis
发布2023-04-15 15:04:15
1.2K0
发布2023-04-15 15:04:15
举报
文章被收录于专栏:WordPress果酱

WordPress 的机制是主要使用 wp_posts 表来存储所有数据,包括日志,页面,附件,导航菜单等等,所以 WordPress 使用了一定时间之后,数据量一大还是有点慢,除了对 WordPress 进行全方面的优化之外,我们还可以对数据表进行减肥和优化,来提高 WordPress 的速度。

1. 删除所有日志修订

日志修订是所有速度慢的罪恶之源,几百篇日志会有几千条日志修订的记录,所以用力删除把,提速效果非常明显:

代码语言:javascript
复制
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'

2. 关闭日志修订

日志修订不是好东西,你可以关闭它或者限制数据库存的修订个数:

关闭日志修订:

代码语言:javascript
复制
define('WP_POST_REVISIONS', false);

限制日志修订为最新的3个:

代码语言:javascript
复制
define('WP_POST_REVISIONS', 3);

3. 优化 wp_posts 表

对 MySQL 数据记录进行插入、更新或删除时,会占有不同大小的空间,记录就会变成碎片,且留下空闲的空间。就像具有碎片的磁盘,会降低性能,需要整理,因此要优化。

代码语言:javascript
复制
OPTIMIZE TABLE wp_posts;

4. 删除所有垃圾留言

不用到后台一条一条删除,只需下面一条 MySQL 即可:

代码语言:javascript
复制
DELETE FROM wp_comments WHERE comment_approved != '1';

5. 删除没有的标签

不再使用的标签,WordPress 是不会自动删除的,需要人工清理下:

代码语言:javascript
复制
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
	);

6. 删除没用的 postmeta 记录

可能日志的记录已经删除了,但是日志扩展表 postmeta 里面的数据还没有删除,也人工清理下吧:

代码语言:javascript
复制
DELETE pm FROM wp_postmeta pm LEFT JOIN wp_posts wp ON wp.ID = pm.post_id WHERE wp.ID IS NULL

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 删除所有日志修订
  • 2. 关闭日志修订
  • 3. 优化 wp_posts 表
  • 4. 删除所有垃圾留言
  • 5. 删除没有的标签
  • 6. 删除没用的 postmeta 记录
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档