1. 问题分析--产品属性数据库(4个表)
count() 查询,查询了不必要的其他字段,导致查询慢
2。解决方案
保留a.ID,去掉其他不必要的查询字段,
测试优化后从39秒减少到20秒,此表有40亿的数据
3. 优化后的sql 参考:
SELECT COUNT(1) FROM ( SELECT a.ID
--t.Country
--t.TemplateName,
--t.BrowsePathByID,
--a.FieldName
--a.LocalLabelName,
--a.DefinitionUse,
--a.AcceptedValues,
--a.Example,
--a.IsRequired,
--a.AttributeType,
--a.AttributeMaxLength
FROM E_Amazon_ShelfTemplateAttributes a (nolock)
INNER JOIN E_Amazon_ShelfTemplate t (nolock)
ON a.TemplateID = t.ID
WHERE 1=1 and t.Country='US' ) AS PagerTable
测试记录:
--39 9
--20 9
对应 bug 28538 【Irobotbox】【Amazon 刊登字段维护】列表点击搜索后,报错超时 刚已给解决方案
若已修改,将此任务状态修改为完成,后续跟踪 验证

参考解决方案修改