自定义分类使可湿性粉剂修复起来非常慢?

时间:2013-02-13 作者:Tim

我在Wordpress 3.5.1的主题中为附件帖子类型设置了三个自定义分类法。一种分类法是非层次的(即标记),其中有大约800个术语。(我正在使用WP构建一个快速脏库照片网站,这些分类术语类似于照片关键字。是的,人们可能会争论WP是否是用于此的正确工具……)。另一种分类法也是扁平的,但其中没有术语。

简而言之,我的网站变得极其缓慢。一般来说,我对MySQL或数据库不太熟悉,但当我使用Blackbox插件来深入了解页面加载时的底层查询时,我发现有两个查询特别为我的页面增加了巨大的开销。页面请求时间需要几秒钟,而在创建分类法之前,这种情况是不会发生的。仅一个查询(如下)平均需要1.4秒。

发生了什么事,有没有办法阻止这一切?WP需要在每个页面上进行这些昂贵的分类查询,这有什么原因吗?

当前WP正在执行的一个查询如下所示:

SELECT t.*, tt.*, tr.object_id
FROM wp_terms AS t
INNER JOIN wp_term_taxonomy AS tt ON tt.term_id = t.term_id
INNER JOIN wp_term_relationships AS tr ON tr.term_taxonomy_id = tt.term_taxonomy_id
WHERE tt.taxonomy IN (\'myCustomTaxonomyName\') AND tr.object_id IN (
    list of 200+ post IDs
)
ORDER BY t.name ASC;
另一个看起来很相似,只是分类名称不同:

SELECT t.*, tt.*, tr.object_id
FROM wp_terms AS t
INNER JOIN wp_term_taxonomy AS tt ON tt.term_id = t.term_id
INNER JOIN wp_term_relationships AS tr ON tr.term_taxonomy_id = tt.term_taxonomy_id
WHERE tt.taxonomy IN (\'attachment_tax1\', \'attachment_tax2\') AND tr.object_id IN (
    list of 200+ post IDs
)
 ORDER BY t.name ASC;

2 个回复
SO网友:Tim

这与自定义分类法无关。我在图像中使用了默认的“Twenty12”主题的一段代码。php,它循环浏览博客中的每一篇文章,以获取子附件,从而获得每一篇文章的分类法关联。修改我的图像。php通过删除这个foreach()循环修复了这个问题。

SO网友:rememberlenny

由于变化,我对WordPress网站速度较慢的体验与PHP内存空间有关。在wp配置中,这通常是一个很容易修复的问题。php文件。在末尾添加以下行,您应该会看到更改。

    define(\'WP_MEMORY_LIMIT\', \'64M\');

结束

相关推荐

Getting posts by taxonomy

我想根据现有的分类术语从CPT获取一组帖子。我想我应该使用WP的get\\u posts()函数:$结果=获取文章(数组$选项);当我指定我感兴趣的CPT时,此函数工作正常:$results=get\\u posts(数组(\'post\\u type\'=>\'my\\u cpt\\u name\');但后来我用我的UOM自定义post类型尝试了这一点,并尝试使用公制进行筛选,公制是一种称为“UOM\\U system”的分类法:$results=get\\u posts(数组(\'post\\u

自定义分类使可湿性粉剂修复起来非常慢? - 小码农CODE - 行之有效找到问题解决它

自定义分类使可湿性粉剂修复起来非常慢?

时间:2013-02-13 作者:Tim

我在Wordpress 3.5.1的主题中为附件帖子类型设置了三个自定义分类法。一种分类法是非层次的(即标记),其中有大约800个术语。(我正在使用WP构建一个快速脏库照片网站,这些分类术语类似于照片关键字。是的,人们可能会争论WP是否是用于此的正确工具……)。另一种分类法也是扁平的,但其中没有术语。

简而言之,我的网站变得极其缓慢。一般来说,我对MySQL或数据库不太熟悉,但当我使用Blackbox插件来深入了解页面加载时的底层查询时,我发现有两个查询特别为我的页面增加了巨大的开销。页面请求时间需要几秒钟,而在创建分类法之前,这种情况是不会发生的。仅一个查询(如下)平均需要1.4秒。

发生了什么事,有没有办法阻止这一切?WP需要在每个页面上进行这些昂贵的分类查询,这有什么原因吗?

当前WP正在执行的一个查询如下所示:

SELECT t.*, tt.*, tr.object_id
FROM wp_terms AS t
INNER JOIN wp_term_taxonomy AS tt ON tt.term_id = t.term_id
INNER JOIN wp_term_relationships AS tr ON tr.term_taxonomy_id = tt.term_taxonomy_id
WHERE tt.taxonomy IN (\'myCustomTaxonomyName\') AND tr.object_id IN (
    list of 200+ post IDs
)
ORDER BY t.name ASC;
另一个看起来很相似,只是分类名称不同:

SELECT t.*, tt.*, tr.object_id
FROM wp_terms AS t
INNER JOIN wp_term_taxonomy AS tt ON tt.term_id = t.term_id
INNER JOIN wp_term_relationships AS tr ON tr.term_taxonomy_id = tt.term_taxonomy_id
WHERE tt.taxonomy IN (\'attachment_tax1\', \'attachment_tax2\') AND tr.object_id IN (
    list of 200+ post IDs
)
 ORDER BY t.name ASC;

2 个回复
SO网友:Tim

这与自定义分类法无关。我在图像中使用了默认的“Twenty12”主题的一段代码。php,它循环浏览博客中的每一篇文章,以获取子附件,从而获得每一篇文章的分类法关联。修改我的图像。php通过删除这个foreach()循环修复了这个问题。

SO网友:rememberlenny

由于变化,我对WordPress网站速度较慢的体验与PHP内存空间有关。在wp配置中,这通常是一个很容易修复的问题。php文件。在末尾添加以下行,您应该会看到更改。

    define(\'WP_MEMORY_LIMIT\', \'64M\');

相关推荐

如何控制根据Taxonomy术语显示什么模板?

我正在建立一个商业目录,并将给出一些背景,然后在最后有2个问题。The development URL is: http://svcta.lainternet.biz/The website I am rebuilding is: https://www.visitsimivalley.com/当前网站要求每个分类法类型具有唯一的业务概要文件。例如,如果您是一家酒店,并且您也有会议室和婚礼场地,那么您最终会得到3个列表,一个用于酒店,一个用于会议,一个用于婚礼。我希望有一个主配置文件,其中包含我们将显示的