发现having count(autoid)>1 CPU性能损耗极大.
怎么解决?
SELECT top 20 SellID FROM [T_Sell_Property] WHERE (ValueString='黑色' AND LabelID=2)
GROUP BY SellID having count(autoid)>1 ORDER BY SellID DESC这是我的语句
怎么解决?
SELECT top 20 SellID FROM [T_Sell_Property] WHERE (ValueString='黑色' AND LabelID=2)
GROUP BY SellID having count(autoid)>1 ORDER BY SellID DESC这是我的语句
order 起初是消耗比较大,但是我加了索引就好了。
试试看
------------------------------autoid 不能换成别的字段吗?
另外我已经确认,开销最大的地方就在having count
查询用时是不长,主要是cpu和读取操作很多.
GROUP BY SellID having count(autoid)>=2 ORDER BY SellID DESC
>1 改为 >=2