我有这个查询。查询花费太多时间来返回结果。 我做了几乎任何可能的WHERE,FUNCS()组合作为索引。 此表中的索引或类似表的空间是数据的10倍。 如果数据是1GB,那么indexex是10GB。
我相信通过适当的索引,我可以立即返回结果。 当相同的字段重复时,就像money7一样,这意味着它在搜索中的次数相同。
寻找你的帮助&建议。
SELECT TOP 100
tinyint3, money1, money2, money3, money4,
COUNT(date1),
(SUM(money7) - (SUM(smallint1) * moneyConstVal)) / COUNT(date1),
SUM(smallint1), (SUM(money7) - (SUM(smallint1) * moneyConstVal)) / SUM(smallint1),
SUM(money7) - (SUM(smallint1) * moneyConstVal) colResultName
FROM
SSum1 WITH(NOLOCK)
WHERE
Day <= '2008-10-31' AND ProfitProtect <= 100
GROUP BY
tinyint3, money1, money2, money3, money4
ORDER BY
colResultName DESC, money1, money2 DESC, money3 DESC, money4
答案 0 :(得分:0)
为你的情况尝试这个索引:
CREATE NONCLUSTERED INDEX IX_SSum1_SEARCH
ON SSum1 (Day,ProfitProtect)
通常索引是使用中包含的列
创建的