1. 问题分析
智能刊登gaussdb 慢sql 排名第1,335次/小时 平均时间:113.612秒
In 子查询元素大于10
2.解决方案
语句优化建议:
发现IN表达式包含元素超过10,请慎用,因为元素过多会导致全表扫描。
建议按《sql优化军规》改为临时表后join
3.原sql
SELECT `Sku` AS `Sku`, `ParentId` AS `ParentId`
FROM `P_Product`
WHERE `CustomerId` = 1
AND `ParentId` IN ('', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '')
AND `IsMainVariant` = 1