1. 问题分析及解决方案:
冯名明 提的sql性能优化问题,分析sql发现使用了函数:DATEDIFF 函数不会走索引,
解决方案如下:
--AND DATEDIFF(DAY, eblb.StartTime, '2022-06-20') >= 30
--AND DATEDIFF(DAY, eblb.StartTime, '2022-06-20') <= 60;
AND eblb.StartTime<'2022-05-22'
AND eblb.StartTime>='2022-04-21 00:00:00.000'
2.sql
SELECT
COUNT(1)
FROM dbo.RB_Ebay_Listing_Basic_V2 (NOLOCK) eblb
LEFT JOIN dbo.RB_OrderSource (NOLOCK) c
ON c.CustomerID = eblb.CustomerID
AND c.ID = eblb.OrderSourceID
LEFT JOIN RB_Ebay_Listing_Shipping_V2 (NOLOCK) lsv
ON lsv.CustomerID = eblb.CustomerID
AND lsv.ListingBasicID = eblb.ListingBasicID
LEFT JOIN dbo.RB_Ebay_Listing_Product_V2 (NOLOCK) rp
ON rp.CustomerID = eblb.CustomerID
AND rp.ListingBasicID = eblb.ListingBasicID
WHERE eblb.CustomerID = 1
AND eblb.ItemID != ''
AND lsv.SiteCountry = 'CN'
--AND DATEDIFF(DAY, eblb.StartTime, '2022-06-20') >= 30
--AND DATEDIFF(DAY, eblb.StartTime, '2022-06-20') <= 60;
AND eblb.StartTime<'2022-05-22'
AND eblb.StartTime>='2022-04-21 00:00:00.000'
3. 记录在此,按此方案优化后,跟进观察验证效果