Wordpress,WooCommerce-保存产品非常慢

时间:2019-01-27 10:56:08

标签: wordpress woocommerce

某些产品的保存速度非常慢(30秒)

这是探查器的屏幕截图:

enter image description here

我在mysql中打开慢速查询日志,并找到此查询:

SELECT COUNT( DISTINCT ID )
FROM wpmf_posts p
LEFT JOIN (

SELECT object_id
FROM wpmf_term_relationships
WHERE term_taxonomy_id
IN ( 7 )
) AS exclude_join ON exclude_join.object_id = p.ID
INNER JOIN (

SELECT object_id
FROM wpmf_term_relationships
INNER JOIN wpmf_term_taxonomy
USING ( term_taxonomy_id )
WHERE term_id
IN ( 4246, 4247, 4254, 4257, 4263, 4280, 4290, 4335, 4375, 4397, 4486, 5114 )
) AS include_join ON include_join.object_id = p.ID
WHERE 1 =1
AND p.post_status =  'publish'
AND p.post_type =  'product'
AND exclude_join.object_id IS NULL
LIMIT 0 , 30

返回4799,耗时27秒:

# Time: 190127  8:38:29
# User@Host: lfytcoil_uprdb[lfytcoil_uprdb] @ localhost []
# Query_time: 27.287704  Lock_time: 0.000076 Rows_sent: 1  Rows_examined: 483196982

您知道此查询的目的是什么吗?

这是ID为wpmf_term_taxonomyproduct_visibility

count显示 31234

这是一个拥有10717种产品的WooCommerce网站,

我怀疑WooCommerce需要处理的产品太多。

注意:运行delete FROM wpmf_term_relationships where term_taxonomy_id = 7后删除了31234,保存仅需2秒 我的问题:

  1. WooCommerce是否无法处理10717种产品?

  2. 是否有某种方法可以改善save? 例如通过禁用此查询?还是通过缓存结果?或改善数据库结构?或安装一些智能模块?

  3. 我注意到对wp_update_term_count的调用,看来如果我禁用此调用,那么问题将得到解决,这可能会有什么副作用?

2 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

注意:我先前的回答是错误的

我发现您可以通过添加来推迟字数统计

    wp_defer_term_counting(true);

save操作之前(即在脚本开头)

    wp_defer_term_counting(false);

在脚本末尾, 也可以使用字词计数