重现步骤

反馈人:李冠

亚马逊有品广告严重慢SQL,执行时间10秒+,并发较大,严重影响到JAVA公共库其他业务正常运行,慢SQL为:

SELECT         dim.currency_code AS currency,         date AS report_date,         order_source_id AS source_id,         order_source_sku AS msku,         ad.id AS id,         ad.customer_id AS customer_id,         DATE_FORMAT(date, %Y) AS report_date_year,         DATE_FORMAT(date, %Y%m) AS report_date_month,         CONCAT(DATE_FORMAT(date, %Y), WEEK(date)) AS report_date_week,         date_int AS report_date_day,         0 AS is_deleted,         ad.update_time AS update_time,         to_cny_exchang_erate / to_usd_exchang_erate AS usd_exchange_rmb,         to_cny_exchang_erate AS exchange_rmb,         ifnull(ad_sp_impressions, 0) + ifnull(ad_sd_impressions, 0) + ifnull(ad_sb_impressions, 0) AS ad_impressions,         ifnull(ad_sp_clicks, 0) + ifnull(ad_sd_clicks, 0) + ifnull(ad_sb_clicks, 0) AS ad_clicks,         if(         ifnull(ad_sp_impressions, 0) + ifnull(ad_sd_impressions, 0) + ifnull(ad_sb_impressions, 0) > 0,         (ifnull(ad_sp_clicks, 0) + ifnull(ad_sd_clicks, 0) + ifnull(ad_sb_clicks, 0)) /         (ifnull(ad_sp_impressions, 0) + ifnull(ad_sd_impressions, 0) + ifnull(ad_sb_impressions, 0)),         0         ) AS ad_click_rate,         ifnull(ad_sp_order_num, 0) + ifnull(ad_sd_order_num, 0) + ifnull(ad_sb_order_num, 0) AS ad_order_num,         ifnull(ad_sp_sales_num, 0) + ifnull(ad_sd_sales_num, 0) AS ad_sales_num,         ifnull(ad_sp_sales_amount, 0) + ifnull(ad_sd_sales_amount, 0) + ifnull(ad_sb_sales_amount, 0) AS ad_sales_amount,         if(         ifnull(ad_sp_clicks, 0) + ifnull(ad_sd_clicks, 0) + ifnull(ad_sb_clicks, 0) > 0,         (ifnull(ad_sp_spend, 0) + ifnull(ad_sd_spend, 0) + ifnull(ad_sb_spend, 0)) /         (ifnull(ad_sp_clicks, 0) + ifnull(ad_sd_clicks, 0) + ifnull(ad_sb_clicks, 0)),         0         ) AS cpc,         if(         ifnull(ad_sp_sales_amount, 0) + ifnull(ad_sd_sales_amount, 0) + ifnull(ad_sb_sales_amount, 0) > 0,         (ifnull(ad_sp_spend, 0) + ifnull(ad_sd_spend, 0) + ifnull(ad_sb_spend, 0)) /         (ifnull(ad_sp_sales_amount, 0) + ifnull(ad_sd_sales_amount, 0) + ifnull(ad_sb_sales_amount, 0)),         0         ) AS acos,         ifnull(ad_sp_spend, 0) + ifnull(ad_sd_spend, 0) + ifnull(ad_sb_spend, 0) AS ad_spend,         ad_sp_impressions AS ad_sp_impressions,         ad_sp_clicks AS ad_sp_clicks,         ad_sp_order_num AS ad_sp_order_num,         ad_sp_sales_num AS ad_sp_sales_num,         ad_sp_sales_amount AS ad_sp_sales_amount,         ad_sp_spend AS ad_sp_spend,         if(ad_sp_impressions > 0, ifnull(ad_sp_clicks, 0) / ad_sp_impressions, 0) AS ad_sp_click_rate,         if(ad_sp_clicks > 0, ifnull(ad_sp_order_num, 0) / ad_sp_clicks, 0) AS ad_sp_conversion_rate,         if(ad_sp_clicks > 0, ifnull(ad_sp_spend, 0) / ad_sp_clicks, 0) AS ad_sp_cpc,         if(ad_sp_sales_amount > 0, ifnull(ad_sp_spend, 0) / ad_sp_sales_amount, 0) AS ad_sp_acos,         ad_sd_impressions AS ad_sd_impressions,         ad_sd_clicks AS ad_sd_clicks,         ad_sd_order_num AS ad_sd_order_num,         ad_sd_sales_num AS ad_sd_sales_num,         ad_sd_sales_amount AS ad_sd_sales_amount,         ad_sd_spend AS ad_sd_spend,         if(ad_sd_impressions > 0, ifnull(ad_sd_clicks, 0) / ad_sd_impressions, 0) AS ad_sd_click_rate,         if(ad_sd_clicks > 0, ifnull(ad_sd_order_num, 0) / ad_sd_clicks, 0) AS ad_sd_conversion_rate,         if(ad_sd_clicks > 0, ifnull(ad_sd_spend, 0) / ad_sd_clicks, 0) AS ad_sd_cpc,         if(ad_sd_sales_amount > 0, ifnull(ad_sd_spend, 0) / ad_sd_sales_amount, 0) AS ad_sd_acos,         ad_sb_impressions AS ad_sb_impressions,         ad_sb_clicks AS ad_sb_clicks,         ad_sb_order_num AS ad_sb_order_num,         ad_sb_sales_amount AS ad_sb_sales_amount,         ad_sb_spend AS ad_sb_spend,         if(ad_sb_impressions > 0, ifnull(ad_sb_clicks, 0) / ad_sb_impressions, 0) AS ad_sb_click_rate,         if(ad_sb_clicks > 0, ifnull(ad_sb_order_num, 0) / ad_sb_clicks, 0) AS ad_sb_conversion_rate,         if(ad_sb_clicks > 0, ifnull(ad_sb_spend, 0) / ad_sb_clicks, 0) AS ad_sb_cpc,         if(ad_sb_sales_amount > 0, ifnull(ad_sb_spend, 0) / ad_sb_sales_amount, 0) AS ad_sb_acos         FROM t_amz_product_performance_dim dim JOIN t_amazon_ad_infor_4 ad         ON dim.source_id = ad.order_source_id AND dim.msku = ad.order_source_sku          WHERE ad.update_time <= 2025-11-03 07:00:01             AND ad.update_time >= 2025-11-02 18:00:01             and ad.date < date_format(DATE_SUB(now(),INTERVAL 4 DAY ),%Y-%m-%d)                              AND dim.source_id in                 (                     14787                 )          ORDER BY update_time         limit 0, 200;

from clipboard

解决方案:1、先在表t_amz_product_performance_dim中根据source_id查出currency_code,msku(最好限制一次查不超过200,虽然当前并没超过);2、再通过source_id,msku在表t_amazon_ad_infor_{4}中根据当前条件+source_id,msku查询需要的结果;3、最后currency_code与第2步查询结果在代码中一起汇聚返回

历史记录  
  1. 2025-11-03 11:19:50, 由 陈莉珍 创建。
  2. 2025-11-03 11:20:35, 由 陈莉珍 编辑。
    修改了 所属项目,旧值为 "51",新值为 "52"。
    修改了 所属模块,旧值为 "0",新值为 "1832"。
    修改了 业务部门,旧值为 "0",新值为 "2"。
    修改了 解决时效,旧值为 "0",新值为 "-1"。
    修改了 重现步骤,区别为:
    001-
    001+ 反馈人:李冠
    002- 反馈人:李冠
    002+ 亚马逊有品广告严重慢SQL,执行时间10秒+,并发较大,严重影响到JAVA公共库其他业务正常运行,慢SQL为:
    003-
    003+ SELECT dim.currency_code AS currency, date AS report_date, order_source_id AS source_id, order_source_sku AS msku, ad.id AS id, ad.customer_id AS customer_id, DATE_FORMAT(date, %Y) AS report_date_year, DATE_FORMAT(date, %Y%m) AS report_date_month, CONCAT(DATE_FORMAT(date, %Y), WEEK(date)) AS report_date_week, date_int AS report_date_day, 0 AS is_deleted, ad.update_time AS update_time, to_cny_exchang_erate / to_usd_exchang_erate AS usd_exchange_rmb, to_cny_exchang_erate AS exchange_rmb, ifnull(ad_sp_impressions, 0) + ifnull(ad_sd_impressions, 0) + ifnull(ad_sb_impressions, 0) AS ad_impressions, ifnull(ad_sp_clicks, 0) + ifnull(ad_sd_clicks, 0) + ifnull(ad_sb_clicks, 0) AS ad_clicks, if( ifnull(ad_sp_impressions, 0) + ifnull(ad_sd_impressions, 0) + ifnull(ad_sb_impressions, 0) &gt; 0, (ifnull(ad_sp_clicks, 0) + ifnull(ad_sd_clicks, 0) + ifnull(ad_sb_clicks, 0)) / (ifnull(ad_sp_impressions, 0) + ifnull(ad_sd_impressions, 0) + ifnull(ad_sb_impressions, 0)), 0 ) AS ad_click_rate, ifnull(ad_sp_order_num, 0) + ifnull(ad_sd_order_num, 0) + ifnull(ad_sb_order_num, 0) AS ad_order_num, ifnull(ad_sp_sales_num, 0) + ifnull(ad_sd_sales_num, 0) AS ad_sales_num, ifnull(ad_sp_sales_amount, 0) + ifnull(ad_sd_sales_amount, 0) + ifnull(ad_sb_sales_amount, 0) AS ad_sales_amount, if( ifnull(ad_sp_clicks, 0) + ifnull(ad_sd_clicks, 0) + ifnull(ad_sb_clicks, 0) &gt; 0, (ifnull(ad_sp_spend, 0) + ifnull(ad_sd_spend, 0) + ifnull(ad_sb_spend, 0)) / (ifnull(ad_sp_clicks, 0) + ifnull(ad_sd_clicks, 0) + ifnull(ad_sb_clicks, 0)), 0 ) AS cpc, if( ifnull(ad_sp_sales_amount, 0) + ifnull(ad_sd_sales_amount, 0) + ifnull(ad_sb_sales_amount, 0) &gt; 0, (ifnull(ad_sp_spend, 0) + ifnull(ad_sd_spend, 0) + ifnull(ad_sb_spend, 0)) / (ifnull(ad_sp_sales_amount, 0) + ifnull(ad_sd_sales_amount, 0) + ifnull(ad_sb_sales_amount, 0)), 0 ) AS acos, ifnull(ad_sp_spend, 0) + ifnull(ad_sd_spend, 0) + ifnull(ad_sb_spend, 0) AS ad_spend, ad_sp_impressions AS ad_sp_impressions, ad_sp_clicks AS ad_sp_clicks, ad_sp_order_num AS ad_sp_order_num, ad_sp_sales_num AS ad_sp_sales_num, ad_sp_sales_amount AS ad_sp_sales_amount, ad_sp_spend AS ad_sp_spend, if(ad_sp_impressions &gt; 0, ifnull(ad_sp_clicks, 0) / ad_sp_impressions, 0) AS ad_sp_click_rate, if(ad_sp_clicks &gt; 0, ifnull(ad_sp_order_num, 0) / ad_sp_clicks, 0) AS ad_sp_conversion_rate, if(ad_sp_clicks &gt; 0, ifnull(ad_sp_spend, 0) / ad_sp_clicks, 0) AS ad_sp_cpc, if(ad_sp_sales_amount &gt; 0, ifnull(ad_sp_spend, 0) / ad_sp_sales_amount, 0) AS ad_sp_acos, ad_sd_impressions AS ad_sd_impressions, ad_sd_clicks AS ad_sd_clicks, ad_sd_order_num AS ad_sd_order_num, ad_sd_sales_num AS ad_sd_sales_num, ad_sd_sales_amount AS ad_sd_sales_amount, ad_sd_spend AS ad_sd_spend, if(ad_sd_impressions &gt; 0, ifnull(ad_sd_clicks, 0) / ad_sd_impressions, 0) AS ad_sd_click_rate, if(ad_sd_clicks &gt; 0, ifnull(ad_sd_order_num, 0) / ad_sd_clicks, 0) AS ad_sd_conversion_rate, if(ad_sd_clicks &gt; 0, ifnull(ad_sd_spend, 0) / ad_sd_clicks, 0) AS ad_sd_cpc, if(ad_sd_sales_amount &gt; 0, ifnull(ad_sd_spend, 0) / ad_sd_sales_amount, 0) AS ad_sd_acos, ad_sb_impressions AS ad_sb_impressions, ad_sb_clicks AS ad_sb_clicks, ad_sb_order_num AS ad_sb_order_num, ad_sb_sales_amount AS ad_sb_sales_amount, ad_sb_spend AS ad_sb_spend, if(ad_sb_impressions &gt; 0, ifnull(ad_sb_clicks, 0) / ad_sb_impressions, 0) AS ad_sb_click_rate, if(ad_sb_clicks &gt; 0, ifnull(ad_sb_order_num, 0) / ad_sb_clicks, 0) AS ad_sb_conversion_rate, if(ad_sb_clicks &gt; 0, ifnull(ad_sb_spend, 0) / ad_sb_clicks, 0) AS ad_sb_cpc, if(ad_sb_sales_amount &gt; 0, ifnull(ad_sb_spend, 0) / ad_sb_sales_amount, 0) AS ad_sb_acos FROM t_amz_product_performance_dim dim JOIN t_amazon_ad_infor_4 ad ON dim.source_id = ad.order_source_id AND dim.msku = ad.order_source_sku WHERE ad.update_time &lt;= 2025-11-03 07:00:01 AND ad.update_time &gt;= 2025-11-02 18:00:01 and ad.date &lt; date_format(DATE_SUB(now(),INTERVAL 4 DAY ),%Y-%m-%d) AND dim.source_id in ( 14787 ) ORDER BY update_time limit 0, 200;
    004-
    004+ <img src="https://irobotbox-hd1.oss-cn-hangzhou.aliyuncs.com/1/Kindeditor/2025/11/03/9ffbfb6462e94f618d07acc6d2adbbc8/ee28bfad-bdfa-4341-ae24-809b1be2d96a.png" title="from clipboard" alt="from clipboard" />
    005- 亚马逊有品广告严重慢SQL,执行时间10秒+,并发较大,严重影响到JAVA公共库其他业务正常运行,慢SQL为:
    005+ 解决方案:1、先在表t_amz_product_performance_dim中根据source_id查出currency_code,msku(最好限制一次查不超过200,虽然当前并没超过);2、再通过source_id,msku在表t_amazon_ad_infor_{4}中根据当前条件+source_id,msku查询需要的结果;3、最后currency_code与第2步查询结果在代码中一起汇聚返回
    006-
    007-
    008- SELECT dim.currency_code AS currency, date AS report_date, order_source_id AS source_id, order_source_sku AS msku, ad.id AS id, ad.customer_id AS customer_id, DATE_FORMAT(date, %Y) AS report_date_year, DATE_FORMAT(date, %Y%m) AS report_date_month, CONCAT(DATE_FORMAT(date, %Y), WEEK(date)) AS report_date_week, date_int AS report_date_day, 0 AS is_deleted, ad.update_time AS update_time, to_cny_exchang_erate / to_usd_exchang_erate AS usd_exchange_rmb, to_cny_exchang_erate AS exchange_rmb, ifnull(ad_sp_impressions, 0) + ifnull(ad_sd_impressions, 0) + ifnull(ad_sb_impressions, 0) AS ad_impressions, ifnull(ad_sp_clicks, 0) + ifnull(ad_sd_clicks, 0) + ifnull(ad_sb_clicks, 0) AS ad_clicks, if( ifnull(ad_sp_impressions, 0) + ifnull(ad_sd_impressions, 0) + ifnull(ad_sb_impressions, 0) &gt; 0, (ifnull(ad_sp_clicks, 0) + ifnull(ad_sd_clicks, 0) + ifnull(ad_sb_clicks, 0)) / (ifnull(ad_sp_impressions, 0) + ifnull(ad_sd_impressions, 0) + ifnull(ad_sb_impressions, 0)), 0 ) AS ad_click_rate, ifnull(ad_sp_order_num, 0) + ifnull(ad_sd_order_num, 0) + ifnull(ad_sb_order_num, 0) AS ad_order_num, ifnull(ad_sp_sales_num, 0) + ifnull(ad_sd_sales_num, 0) AS ad_sales_num, ifnull(ad_sp_sales_amount, 0) + ifnull(ad_sd_sales_amount, 0) + ifnull(ad_sb_sales_amount, 0) AS ad_sales_amount, if( ifnull(ad_sp_clicks, 0) + ifnull(ad_sd_clicks, 0) + ifnull(ad_sb_clicks, 0) &gt; 0, (ifnull(ad_sp_spend, 0) + ifnull(ad_sd_spend, 0) + ifnull(ad_sb_spend, 0)) / (ifnull(ad_sp_clicks, 0) + ifnull(ad_sd_clicks, 0) + ifnull(ad_sb_clicks, 0)), 0 ) AS cpc, if( ifnull(ad_sp_sales_amount, 0) + ifnull(ad_sd_sales_amount, 0) + ifnull(ad_sb_sales_amount, 0) &gt; 0, (ifnull(ad_sp_spend, 0) + ifnull(ad_sd_spend, 0) + ifnull(ad_sb_spend, 0)) / (ifnull(ad_sp_sales_amount, 0) + ifnull(ad_sd_sales_amount, 0) + ifnull(ad_sb_sales_amount, 0)), 0 ) AS acos, ifnull(ad_sp_spend, 0) + ifnull(ad_sd_spend, 0) + ifnull(ad_sb_spend, 0) AS ad_spend, ad_sp_impressions AS ad_sp_impressions, ad_sp_clicks AS ad_sp_clicks, ad_sp_order_num AS ad_sp_order_num, ad_sp_sales_num AS ad_sp_sales_num, ad_sp_sales_amount AS ad_sp_sales_amount, ad_sp_spend AS ad_sp_spend, if(ad_sp_impressions &gt; 0, ifnull(ad_sp_clicks, 0) / ad_sp_impressions, 0) AS ad_sp_click_rate, if(ad_sp_clicks &gt; 0, ifnull(ad_sp_order_num, 0) / ad_sp_clicks, 0) AS ad_sp_conversion_rate, if(ad_sp_clicks &gt; 0, ifnull(ad_sp_spend, 0) / ad_sp_clicks, 0) AS ad_sp_cpc, if(ad_sp_sales_amount &gt; 0, ifnull(ad_sp_spend, 0) / ad_sp_sales_amount, 0) AS ad_sp_acos, ad_sd_impressions AS ad_sd_impressions, ad_sd_clicks AS ad_sd_clicks, ad_sd_order_num AS ad_sd_order_num, ad_sd_sales_num AS ad_sd_sales_num, ad_sd_sales_amount AS ad_sd_sales_amount, ad_sd_spend AS ad_sd_spend, if(ad_sd_impressions &gt; 0, ifnull(ad_sd_clicks, 0) / ad_sd_impressions, 0) AS ad_sd_click_rate, if(ad_sd_clicks &gt; 0, ifnull(ad_sd_order_num, 0) / ad_sd_clicks, 0) AS ad_sd_conversion_rate, if(ad_sd_clicks &gt; 0, ifnull(ad_sd_spend, 0) / ad_sd_clicks, 0) AS ad_sd_cpc, if(ad_sd_sales_amount &gt; 0, ifnull(ad_sd_spend, 0) / ad_sd_sales_amount, 0) AS ad_sd_acos, ad_sb_impressions AS ad_sb_impressions, ad_sb_clicks AS ad_sb_clicks, ad_sb_order_num AS ad_sb_order_num, ad_sb_sales_amount AS ad_sb_sales_amount, ad_sb_spend AS ad_sb_spend, if(ad_sb_impressions &gt; 0, ifnull(ad_sb_clicks, 0) / ad_sb_impressions, 0) AS ad_sb_click_rate, if(ad_sb_clicks &gt; 0, ifnull(ad_sb_order_num, 0) / ad_sb_clicks, 0) AS ad_sb_conversion_rate, if(ad_sb_clicks &gt; 0, ifnull(ad_sb_spend, 0) / ad_sb_clicks, 0) AS ad_sb_cpc, if(ad_sb_sales_amount &gt; 0, ifnull(ad_sb_spend, 0) / ad_sb_sales_amount, 0) AS ad_sb_acos FROM t_amz_product_performance_dim dim JOIN t_amazon_ad_infor_4 ad ON dim.source_id = ad.order_source_id AND dim.msku = ad.order_source_sku WHERE ad.update_time &lt;= 2025-11-03 07:00:01 AND ad.update_time &gt;= 2025-11-02 18:00:01 and ad.date &lt; date_format(DATE_SUB(now(),INTERVAL 4 DAY ),%Y-%m-%d) AND dim.source_id in ( 14787 ) ORDER BY update_time limit 0, 200;
    009-
    010-
    011- <img src="https://irobotbox-hd1.oss-cn-hangzhou.aliyuncs.com/1/Kindeditor/2025/11/03/9ffbfb6462e94f618d07acc6d2adbbc8/ee28bfad-bdfa-4341-ae24-809b1be2d96a.png" title="from clipboard" alt="from clipboard" />
    012-
    013-
    014- 解决方案:1、先在表t_amz_product_performance_dim中根据source_id查出currency_code,msku(最好限制一次查不超过200,虽然当前并没超过);2、再通过source_id,msku在表t_amazon_ad_infor_{4}中根据当前条件+source_id,msku查询需要的结果;3、最后currency_code与第2步查询结果在代码中一起汇聚返回
    015-
    001- <p>
    001+ <p>反馈人:李冠</p>
    002- 反馈人:李冠
    002+ <p>亚马逊有品广告严重慢SQL,执行时间10秒+,并发较大,严重影响到JAVA公共库其他业务正常运行,慢SQL为:</p>
    003- </p>
    003+ <p>SELECT dim.currency_code AS currency, date AS report_date, order_source_id AS source_id, order_source_sku AS msku, ad.id AS id, ad.customer_id AS customer_id, DATE_FORMAT(date, %Y) AS report_date_year, DATE_FORMAT(date, %Y%m) AS report_date_month, CONCAT(DATE_FORMAT(date, %Y), WEEK(date)) AS report_date_week, date_int AS report_date_day, 0 AS is_deleted, ad.update_time AS update_time, to_cny_exchang_erate / to_usd_exchang_erate AS usd_exchange_rmb, to_cny_exchang_erate AS exchange_rmb, ifnull(ad_sp_impressions, 0) + ifnull(ad_sd_impressions, 0) + ifnull(ad_sb_impressions, 0) AS ad_impressions, ifnull(ad_sp_clicks, 0) + ifnull(ad_sd_clicks, 0) + ifnull(ad_sb_clicks, 0) AS ad_clicks, if( ifnull(ad_sp_impressions, 0) + ifnull(ad_sd_impressions, 0) + ifnull(ad_sb_impressions, 0) &gt; 0, (ifnull(ad_sp_clicks, 0) + ifnull(ad_sd_clicks, 0) + ifnull(ad_sb_clicks, 0)) / (ifnull(ad_sp_impressions, 0) + ifnull(ad_sd_impressions, 0) + ifnull(ad_sb_impressions, 0)), 0 ) AS ad_click_rate, ifnull(ad_sp_order_num, 0) + ifnull(ad_sd_order_num, 0) + ifnull(ad_sb_order_num, 0) AS ad_order_num, ifnull(ad_sp_sales_num, 0) + ifnull(ad_sd_sales_num, 0) AS ad_sales_num, ifnull(ad_sp_sales_amount, 0) + ifnull(ad_sd_sales_amount, 0) + ifnull(ad_sb_sales_amount, 0) AS ad_sales_amount, if( ifnull(ad_sp_clicks, 0) + ifnull(ad_sd_clicks, 0) + ifnull(ad_sb_clicks, 0) &gt; 0, (ifnull(ad_sp_spend, 0) + ifnull(ad_sd_spend, 0) + ifnull(ad_sb_spend, 0)) / (ifnull(ad_sp_clicks, 0) + ifnull(ad_sd_clicks, 0) + ifnull(ad_sb_clicks, 0)), 0 ) AS cpc, if( ifnull(ad_sp_sales_amount, 0) + ifnull(ad_sd_sales_amount, 0) + ifnull(ad_sb_sales_amount, 0) &gt; 0, (ifnull(ad_sp_spend, 0) + ifnull(ad_sd_spend, 0) + ifnull(ad_sb_spend, 0)) / (ifnull(ad_sp_sales_amount, 0) + ifnull(ad_sd_sales_amount, 0) + ifnull(ad_sb_sales_amount, 0)), 0 ) AS acos, ifnull(ad_sp_spend, 0) + ifnull(ad_sd_spend, 0) + ifnull(ad_sb_spend, 0) AS ad_spend, ad_sp_impressions AS ad_sp_impressions, ad_sp_clicks AS ad_sp_clicks, ad_sp_order_num AS ad_sp_order_num, ad_sp_sales_num AS ad_sp_sales_num, ad_sp_sales_amount AS ad_sp_sales_amount, ad_sp_spend AS ad_sp_spend, if(ad_sp_impressions &gt; 0, ifnull(ad_sp_clicks, 0) / ad_sp_impressions, 0) AS ad_sp_click_rate, if(ad_sp_clicks &gt; 0, ifnull(ad_sp_order_num, 0) / ad_sp_clicks, 0) AS ad_sp_conversion_rate, if(ad_sp_clicks &gt; 0, ifnull(ad_sp_spend, 0) / ad_sp_clicks, 0) AS ad_sp_cpc, if(ad_sp_sales_amount &gt; 0, ifnull(ad_sp_spend, 0) / ad_sp_sales_amount, 0) AS ad_sp_acos, ad_sd_impressions AS ad_sd_impressions, ad_sd_clicks AS ad_sd_clicks, ad_sd_order_num AS ad_sd_order_num, ad_sd_sales_num AS ad_sd_sales_num, ad_sd_sales_amount AS ad_sd_sales_amount, ad_sd_spend AS ad_sd_spend, if(ad_sd_impressions &gt; 0, ifnull(ad_sd_clicks, 0) / ad_sd_impressions, 0) AS ad_sd_click_rate, if(ad_sd_clicks &gt; 0, ifnull(ad_sd_order_num, 0) / ad_sd_clicks, 0) AS ad_sd_conversion_rate, if(ad_sd_clicks &gt; 0, ifnull(ad_sd_spend, 0) / ad_sd_clicks, 0) AS ad_sd_cpc, if(ad_sd_sales_amount &gt; 0, ifnull(ad_sd_spend, 0) / ad_sd_sales_amount, 0) AS ad_sd_acos, ad_sb_impressions AS ad_sb_impressions, ad_sb_clicks AS ad_sb_clicks, ad_sb_order_num AS ad_sb_order_num, ad_sb_sales_amount AS ad_sb_sales_amount, ad_sb_spend AS ad_sb_spend, if(ad_sb_impressions &gt; 0, ifnull(ad_sb_clicks, 0) / ad_sb_impressions, 0) AS ad_sb_click_rate, if(ad_sb_clicks &gt; 0, ifnull(ad_sb_order_num, 0) / ad_sb_clicks, 0) AS ad_sb_conversion_rate, if(ad_sb_clicks &gt; 0, ifnull(ad_sb_spend, 0) / ad_sb_clicks, 0) AS ad_sb_cpc, if(ad_sb_sales_amount &gt; 0, ifnull(ad_sb_spend, 0) / ad_sb_sales_amount, 0) AS ad_sb_acos FROM t_amz_product_performance_dim dim JOIN t_amazon_ad_infor_4 ad ON dim.source_id = ad.order_source_id AND dim.msku = ad.order_source_sku WHERE ad.update_time &lt;= 2025-11-03 07:00:01 AND ad.update_time &gt;= 2025-11-02 18:00:01 and ad.date &lt; date_format(DATE_SUB(now(),INTERVAL 4 DAY ),%Y-%m-%d) AND dim.source_id in ( 14787 ) ORDER BY update_time limit 0, 200;</p>
    004- <p>
    004+ <p><img src="https://irobotbox-hd1.oss-cn-hangzhou.aliyuncs.com/1/Kindeditor/2025/11/03/9ffbfb6462e94f618d07acc6d2adbbc8/ee28bfad-bdfa-4341-ae24-809b1be2d96a.png" title="from clipboard" alt="from clipboard" /></p>
    005- 亚马逊有品广告严重慢SQL,执行时间10秒+,并发较大,严重影响到JAVA公共库其他业务正常运行,慢SQL为:
    005+ <p>解决方案:1、先在表t_amz_product_performance_dim中根据source_id查出currency_code,msku(最好限制一次查不超过200,虽然当前并没超过);2、再通过source_id,msku在表t_amazon_ad_infor_{4}中根据当前条件+source_id,msku查询需要的结果;3、最后currency_code与第2步查询结果在代码中一起汇聚返回</p>
    006- </p>
    007- <p>
    008- SELECT dim.currency_code AS currency, date AS report_date, order_source_id AS source_id, order_source_sku AS msku, ad.id AS id, ad.customer_id AS customer_id, DATE_FORMAT(date, %Y) AS report_date_year, DATE_FORMAT(date, %Y%m) AS report_date_month, CONCAT(DATE_FORMAT(date, %Y), WEEK(date)) AS report_date_week, date_int AS report_date_day, 0 AS is_deleted, ad.update_time AS update_time, to_cny_exchang_erate / to_usd_exchang_erate AS usd_exchange_rmb, to_cny_exchang_erate AS exchange_rmb, ifnull(ad_sp_impressions, 0) + ifnull(ad_sd_impressions, 0) + ifnull(ad_sb_impressions, 0) AS ad_impressions, ifnull(ad_sp_clicks, 0) + ifnull(ad_sd_clicks, 0) + ifnull(ad_sb_clicks, 0) AS ad_clicks, if( ifnull(ad_sp_impressions, 0) + ifnull(ad_sd_impressions, 0) + ifnull(ad_sb_impressions, 0) &gt; 0, (ifnull(ad_sp_clicks, 0) + ifnull(ad_sd_clicks, 0) + ifnull(ad_sb_clicks, 0)) / (ifnull(ad_sp_impressions, 0) + ifnull(ad_sd_impressions, 0) + ifnull(ad_sb_impressions, 0)), 0 ) AS ad_click_rate, ifnull(ad_sp_order_num, 0) + ifnull(ad_sd_order_num, 0) + ifnull(ad_sb_order_num, 0) AS ad_order_num, ifnull(ad_sp_sales_num, 0) + ifnull(ad_sd_sales_num, 0) AS ad_sales_num, ifnull(ad_sp_sales_amount, 0) + ifnull(ad_sd_sales_amount, 0) + ifnull(ad_sb_sales_amount, 0) AS ad_sales_amount, if( ifnull(ad_sp_clicks, 0) + ifnull(ad_sd_clicks, 0) + ifnull(ad_sb_clicks, 0) &gt; 0, (ifnull(ad_sp_spend, 0) + ifnull(ad_sd_spend, 0) + ifnull(ad_sb_spend, 0)) / (ifnull(ad_sp_clicks, 0) + ifnull(ad_sd_clicks, 0) + ifnull(ad_sb_clicks, 0)), 0 ) AS cpc, if( ifnull(ad_sp_sales_amount, 0) + ifnull(ad_sd_sales_amount, 0) + ifnull(ad_sb_sales_amount, 0) &gt; 0, (ifnull(ad_sp_spend, 0) + ifnull(ad_sd_spend, 0) + ifnull(ad_sb_spend, 0)) / (ifnull(ad_sp_sales_amount, 0) + ifnull(ad_sd_sales_amount, 0) + ifnull(ad_sb_sales_amount, 0)), 0 ) AS acos, ifnull(ad_sp_spend, 0) + ifnull(ad_sd_spend, 0) + ifnull(ad_sb_spend, 0) AS ad_spend, ad_sp_impressions AS ad_sp_impressions, ad_sp_clicks AS ad_sp_clicks, ad_sp_order_num AS ad_sp_order_num, ad_sp_sales_num AS ad_sp_sales_num, ad_sp_sales_amount AS ad_sp_sales_amount, ad_sp_spend AS ad_sp_spend, if(ad_sp_impressions &gt; 0, ifnull(ad_sp_clicks, 0) / ad_sp_impressions, 0) AS ad_sp_click_rate, if(ad_sp_clicks &gt; 0, ifnull(ad_sp_order_num, 0) / ad_sp_clicks, 0) AS ad_sp_conversion_rate, if(ad_sp_clicks &gt; 0, ifnull(ad_sp_spend, 0) / ad_sp_clicks, 0) AS ad_sp_cpc, if(ad_sp_sales_amount &gt; 0, ifnull(ad_sp_spend, 0) / ad_sp_sales_amount, 0) AS ad_sp_acos, ad_sd_impressions AS ad_sd_impressions, ad_sd_clicks AS ad_sd_clicks, ad_sd_order_num AS ad_sd_order_num, ad_sd_sales_num AS ad_sd_sales_num, ad_sd_sales_amount AS ad_sd_sales_amount, ad_sd_spend AS ad_sd_spend, if(ad_sd_impressions &gt; 0, ifnull(ad_sd_clicks, 0) / ad_sd_impressions, 0) AS ad_sd_click_rate, if(ad_sd_clicks &gt; 0, ifnull(ad_sd_order_num, 0) / ad_sd_clicks, 0) AS ad_sd_conversion_rate, if(ad_sd_clicks &gt; 0, ifnull(ad_sd_spend, 0) / ad_sd_clicks, 0) AS ad_sd_cpc, if(ad_sd_sales_amount &gt; 0, ifnull(ad_sd_spend, 0) / ad_sd_sales_amount, 0) AS ad_sd_acos, ad_sb_impressions AS ad_sb_impressions, ad_sb_clicks AS ad_sb_clicks, ad_sb_order_num AS ad_sb_order_num, ad_sb_sales_amount AS ad_sb_sales_amount, ad_sb_spend AS ad_sb_spend, if(ad_sb_impressions &gt; 0, ifnull(ad_sb_clicks, 0) / ad_sb_impressions, 0) AS ad_sb_click_rate, if(ad_sb_clicks &gt; 0, ifnull(ad_sb_order_num, 0) / ad_sb_clicks, 0) AS ad_sb_conversion_rate, if(ad_sb_clicks &gt; 0, ifnull(ad_sb_spend, 0) / ad_sb_clicks, 0) AS ad_sb_cpc, if(ad_sb_sales_amount &gt; 0, ifnull(ad_sb_spend, 0) / ad_sb_sales_amount, 0) AS ad_sb_acos FROM t_amz_product_performance_dim dim JOIN t_amazon_ad_infor_4 ad ON dim.source_id = ad.order_source_id AND dim.msku = ad.order_source_sku WHERE ad.update_time &lt;= 2025-11-03 07:00:01 AND ad.update_time &gt;= 2025-11-02 18:00:01 and ad.date &lt; date_format(DATE_SUB(now(),INTERVAL 4 DAY ),%Y-%m-%d) AND dim.source_id in ( 14787 ) ORDER BY update_time limit 0, 200;
    009- </p>
    010- <p>
    011- <img src="https://irobotbox-hd1.oss-cn-hangzhou.aliyuncs.com/1/Kindeditor/2025/11/03/9ffbfb6462e94f618d07acc6d2adbbc8/ee28bfad-bdfa-4341-ae24-809b1be2d96a.png" title="from clipboard" alt="from clipboard" />
    012- </p>
    013- <p>
    014- 解决方案:1、先在表t_amz_product_performance_dim中根据source_id查出currency_code,msku(最好限制一次查不超过200,虽然当前并没超过);2、再通过source_id,msku在表t_amazon_ad_infor_{4}中根据当前条件+source_id,msku查询需要的结果;3、最后currency_code与第2步查询结果在代码中一起汇聚返回
    015- </p>
  3. 2025-11-03 11:20:56, 由 夏秋生 指派给 覃光贤。
    修改了 指派给,旧值为 "xiaqiusheng",新值为 "qinguangxian"。
  4. 2025-11-03 14:17:24, 由 覃光贤 指派给 梅渝超。
    修改了 指派给,旧值为 "qinguangxian",新值为 "meiyuchao"。
  5. 2025-11-03 14:34:49, 由 梅渝超 解决,方案为 性能问题 。
    修改了 解决方案,旧值为 "",新值为 "performance"。
    修改了 解决版本,旧值为 "",新值为 "trunk"。
    修改了 解决日期,旧值为 "",新值为 "2025-11-03 14:34:28"。
    修改了 指派给 ,旧值为 "meiyuchao",新值为 "xiaqiusheng"。
    修改了 Bug状态 ,旧值为 "active",新值为 "resolved"。
    修改了 是否确认,旧值为 "0",新值为 "1"。
    修改了 解决者 ,旧值为 "",新值为 "meiyuchao"。
  6. 2025-11-03 14:36:52, 由 夏秋生 指派给 陈莉珍。
    修改了 指派给,旧值为 "xiaqiusheng",新值为 "chenlizhen"。
    2025.11。04发布
  7. 2025-11-03 14:37:44, 由 陈莉珍 编辑。
    修改了 开发责任人,旧值为 "",新值为 "qinguangxian"。
    修改了 测试责任人,旧值为 "",新值为 "xiaqiusheng"。
    修改了 解决时效 ,旧值为 "0",新值为 "3.24"。
    修改了 上线时间 ,旧值为 "0000-00-00 00:00:00",新值为 "2025-11-03 14:34:28"。
    修改了 上线时效 ,旧值为 "-1",新值为 "3.24"。
  8. 2025-11-03 14:37:48, 由 陈莉珍 关闭。
    修改了 Bug状态 ,旧值为 "resolved",新值为 "closed"。
    修改了 指派给 ,旧值为 "chenlizhen",新值为 "closed"。
    修改了 由谁关闭,旧值为 "",新值为 "chenlizhen"。
    修改了 关闭日期,旧值为 "",新值为 "2025-11-03 14:37:47"。
所属项目 智能中心-需求池
所属模块 虎鲸系统(有品)
所属计划
所属迭代
Bug类型
严重程度 一般
优先级 P1
Bug状态 已关闭
业务部门 总经办
影响功能
开发责任人 覃光贤
测试责任人 夏秋生
解决时效 3.24
激活次数 0
激活日期
是否确认 是
当前指派 Closed 于 2025-11-03 14:37:47
截止日期 0000-00-00
上线时间 2025-11-03 14:34:28
上线时效 3.24
操作系统
浏览器
关键词
抄送给
所属迭代
相关需求
相关任务
由谁创建 陈莉珍 于 2025-11-03 11:19:50
影响环境 生产环境-业务反馈
由谁解决 梅渝超 于 2025-11-03 14:34:28
解决版本 主干
解决方案 性能问题
由谁关闭 陈莉珍 于 2025-11-03 14:37:47
最后修改 陈莉珍 于 2025-11-03 14:37:47
相关Bug