给sum的字段加聚集索引使用T-SQL语句创建索引的语法:CREATE [UNIQUE] [CLUSTERED|NONCLUSTERED] INDEX index_name ON table_name (column_name…) [WITH FILLFACTOR=x]q UNIQUE表示唯一索引,可选q CLUSTERED、NONCLUSTERED表示聚集索引还是非聚集索引,可选q FILLFACTOR表示填充因子,指定一个0到100之间的值,该值指示索引页填满的空间所占的百分比 在stuMarks表的writtenExam列创建索引:USE stuDBGOIF EXISTS (SELECT name FROM sysindexes WHERE name = 'IX_writtenExam') DROP INDEX stuMarks.IX_writtenExam /*--笔试列创建非聚集索引:填充因子为30%--*/CREATE NONCLUSTERED INDEX IX_writtenExam ON stuMarks(writtenExam) WITH FILLFACTOR= 30GO
在stuMarks表的writtenExam列创建索引:USE stuDBGOIF EXISTS (SELECT name FROM sysindexes WHERE name = 'IX_writtenExam') DROP INDEX stuMarks.IX_writtenExam /*--笔试列创建非聚集索引:填充因子为30%--*/CREATE NONCLUSTERED INDEX IX_writtenExam ON stuMarks(writtenExam) WITH FILLFACTOR= 30GO
你可以在分组列上建立索引 当你的数据非常多的时候 建议你建立视图索引
这样对你的聚合运算时相当有好处的
2,GROUP BY 字段一定要索引。
3,SQL2005+, 可以在存放数据时就用分区表存放。其实计算并不用多少时间 , 看你计算完了, 存储或者显示, 那个才叫时间啊。。