有个成绩表
3 ID int 4 0
0 学号 varchar 20 0
0 姓名 nvarchar 4 0
0 分数 numeric 5 1
0 满分 tinyint 1 1
0 等级 tinyint 1 1
0 年级 nvarchar 2 0
0 班级 tinyint 1 0
0 学科 nvarchar 10 0
0 学年 varchar 10 0
0 学期 nvarchar 1 0
0 考试名称 nvarchar 50 0
0 教师 nvarchar 4 0会经常用到sql:
select 学号, 姓名,SUM(分数) AS 总分,SUM(CASE WHEN 学科 = '数学' THEN 分数 ELSE 0 END) AS 数学,SUM(CASE WHEN 学科 = '语文' THEN 分数 ELSE 0 END) AS 语文 FROM 成绩 WHERE 年级='初一' and 班级=1 and 学年='2006-2007' and 学期='一' and 考试名称='期中' and 学科 in ('数学','语文') GROUP BY 学号, 姓名测试数据20万,开始没有任何索引,打开一个asp页面超过2秒,后来把ID设为主键,打开页面都在一秒以内了。我不太明白,我查询里并没用到ID,为什么把ID设为主键速度会提高很多?还有其他字段需要加索引吗?