返回》

深度优化WordPress网站MySQL数据库表教程

WordPress是一个以数据库为核心的CMS系统,如果WordPress网站变得很慢,一般都是数据库很臃肿了,接下来都是要进行优化,如果优化的好,基本网站速度会上升一大截。接下来搬主题就介绍有几种方法可以优化你的WordPress网站所使用的MySQL数据库。优化表优化你的数据库中的所有表。OPTIMIZE TABLE wp_posts, wp_comments, wp_options, wp_usermeta, wp_term_relationships, wp_term_taxonomy, wp_termmeta;Copy用你的WordPress安装所使用的数据库前缀替换wp_。修复表修复数据库中任何受损的表。REPAIR TABLE wp_posts, wp_comments, wp_options, wp_usermeta, wp_term_relationships, wp_term_taxonomy, wp_termmeta;Copy移除孤立项删除孤立的postmeta项。DELETE FROM wp_postmeta WHERE post_id NOT IN (SELECT id FROM wp_posts);Copy删除孤立关系项。DELETE tr FROM wp_term_relationships tr LEFT JOIN wp_posts wp ON wp.ID = tr.object_id WHERE wp.ID IS NULL;Copy删除孤立的术语项目。DELETE t FROM wp_terms t LEFT JOIN wp_term_taxonomy tt ON t.term_id = tt.term_id WHERE tt.term_id IS NULL;添加索引向数据库表添加索引可以提高查询的性能,特别是对于使用WHERE或JOIN子句的查询。你可以使用ALTER TABLE MySQL命令向你的表添加索引。例如,要在wp_posts表的post_title列上添加一个索引,你可以使用以下SQL代码。ALTER TABLE wp_posts ADD UNIQUE INDEX (post_title);Copy这将确保在wp_posts表中没有两行在post_title列中有相同的值。你也可以使用INDEX关键字指定索引的名称,像这样。ALTER TABLE wp_posts ADD INDEX post_title_index (post_title);这将在wp_posts表中的post_title列上创建一个名为post_title_index的索引。请记住,在你的数据库表中添加索引可以提高你的查询性能,但它也可能增加你的数据库的大小,并减慢某些类型的数据修改查询。你应该仔细考虑你想要索引哪些列,以及索引的好处是否超过了潜在的坏处。添加缓存要给WordPress数据库表添加缓存,你可以使用带有CACHE选项的ALTER TABLE MySQL命令。例如,要向wp_posts表添加缓存,你可以使用以下SQL代码:ALTER TABLE wp_posts CACHE;Copy这将导致MySQL对wp_posts表的内容进行60分钟的缓存。在这段时间过后,该表将被取消缓存,其内容将在下次访问该表时从磁盘重新加载。EXPLAIN查询EXPLAIN关键字可以用来分析SELECT查询的性能,看看它是如何使用索引和其他优化技术的。你可以用它来帮助识别和修复查询的性能问题。下面是一个例子,说明如何使用EXPLAIN关键字来分析WordPress中的SELECT查询。EXPLAIN SELECT * FROM wp_posts WHERE post_type = 'page';这将返回一个表格,其中包含关于该查询如何使用索引和其他优化技术的信息。例如,类型列将表明查询是使用全表扫描还是使用索引,而关键列将显示正在使用的索引。下面是一个你可能看到的输出的例子。+----+-------------+-------+-------+---------------+---------+---------+-------+------+-------------+ | id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra | +----+-------------+-------+-------+---------------+---------+---------+-------+------+-------------+ | 1 | SIMPLE | wp_posts | ref | post_type | post_type | 767 | const | 10 | Using index | +----+-------------+-------+-------+---------------+---------+---------+-------+------+-------------+在这个例子中,查询是使用一个索引(post_type)来搜索wp_posts表中post_type列为 “page “的记录。这比全表扫描更有效,因为它只需要在表的一部分进行搜索。请记住,这些只是你可以用来优化你的WordPress数据库的几个SQL代码的例子。还有许多其他的优化技术可以使用,而你应该使用的具体优化方法将取决于你的具体网站和数据库设置。如果觉得麻烦,可以直接用一些WordPress数据库优化插件,如下:Advanced Database Cleaner Pro 3.2.0汉化中文版|WordPress数据库清理优化加速专业插件 WP-Optimize Premium 3.2.12汉化中文版|WordPress数据库清理及站点速度优化插件 清理和优化WordPress网站数据库wp_options表和自动加载的数据
THE END