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

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

1. 删除所有日志修订

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

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. 关闭日志修订

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

关闭日志修订:

define('WP_POST_REVISIONS', false);

复制

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

define('WP_POST_REVISIONS', 3);

复制

3. 优化 wp_posts 表

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

OPTIMIZE TABLE wp_posts;

复制

4. 删除所有垃圾留言

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

DELETE FROM wp_comments WHERE comment_approved != '1';

复制

5. 删除没有的标签

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

DELETE a,b,cFROM
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_idWHERE (
c.taxonomy = 'post_tag' AND
c.count = 0
);</pre><p>复制</p><h3 style="overflow-wrap: break-word; margin: 16px 0px 8px; padding: 0px; font-size: 16px; box-sizing: border-box; list-style: inherit; line-height: 26px; font-family: &quot;pingfang SC&quot;, &quot;helvetica neue&quot;, arial, &quot;hiragino sans gb&quot;, &quot;microsoft yahei ui&quot;, &quot;microsoft yahei&quot;, simsun, sans-serif; white-space: pre-wrap; background-color: rgb(255, 255, 255);">6. 删除没用的 postmeta 记录</h3><p style="overflow-wrap: break-word; margin-top: 0px; margin-bottom: 8px; padding: 0px; box-sizing: border-box; list-style: inherit; min-height: 24px; color: rgb(51, 51, 51); font-family: &quot;pingfang SC&quot;, &quot;helvetica neue&quot;, arial, &quot;hiragino sans gb&quot;, &quot;microsoft yahei ui&quot;, &quot;microsoft yahei&quot;, simsun, sans-serif; font-size: 14px; white-space: pre-wrap; background-color: rgb(255, 255, 255);">可能日志的记录已经删除了,但是日志扩展表 postmeta 里面的数据还没有删除,也人工清理下吧:</p><pre class="prism-token token line-numbers language-javascript" style="overflow-wrap: normal; box-sizing: border-box; list-style: inherit; padding: 1em 1em 1em 3.8em; color: rgb(204, 204, 204); background-color: rgb(80, 85, 107); border-radius: 3px; overflow: auto; font-family: Consolas, Monaco, &quot;Andale Mono&quot;, &quot;Ubuntu Mono&quot;, monospace; word-spacing: normal; word-break: normal; line-height: 1.5; tab-size: 4; hyphens: none; min-height: 14px; position: relative; counter-reset: linenumber 0;">DELETE&nbsp;pm&nbsp;FROM&nbsp;wp_postmeta&nbsp;pm&nbsp;LEFT&nbsp;JOIN&nbsp;wp_posts&nbsp;wp&nbsp;ON&nbsp;wp.ID&nbsp;=&nbsp;pm.post_id&nbsp;WHERE&nbsp;wp.ID&nbsp;IS&nbsp;NULL</pre><p>复制</p><p><br/></p>

标签: none

添加新评论 »