【发布时间】:2016-05-17 19:26:30
【问题描述】:
我有这个问题。查询需要太多时间才能返回结果。 我做了几乎所有可能的 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
【问题讨论】:
-
你看执行计划了吗?
标签: sql sql-server indexing