首页 > 解决方案 > Wordpress,WooCommerce - 保存产品非常慢

问题描述

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

这是分析器的屏幕截图:

在此处输入图像描述

我在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

知道这个查询的目的是什么吗?

这是wpmf_term_taxonomy带身份证的 product_visibility

节目count31234

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

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

注意:运行delete FROMwpmf_term_relationships whereterm_taxonomy_id= 7删除 31234 后,保存只需 2 秒我的问题:

  1. WooCommerce 不能处理 10717 产品吗?

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

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

标签: wordpresswoocommerce

解决方案



推荐阅读