感谢:感谢坛内热心群众以及坛内侠客
目的:将以下表的数据横向输出
现象:数据量较小时候无问题,数据量达到万条,很慢很慢,基本就算查不出数据了
问题:我的sql语句的条件,什么地方有不足的地方21表名: T_RESULT 备注:测试成绩表2,重新设计表结构, 测试成绩表1存储统计结果
海量数据说明:考虑一个城市建一个成绩表
序号 字段含义 字段名 类型(长度) 备注
1 学生身份证 STUDENT_PIN varchar(18) 关联学生基本资料表(主键)
3 项目的编号 PROJECT_CODE Varchar(4) 关联测试项目表的编号
4 项目的数据 PROJECT_DATA Numeric(7,2) 2位小数
5 项目的得分 PROJECT_SCORE Varchar(5)
项目得分的类型 VALUATION 1营养不良2较低体重3正常体重4超重5肥胖15表名:T_STUDENT 备注:学生基本资料表
海量数据说明:考虑一个城市建一个学生表,或者将学生表合并到成绩表中
序号 字段含义 字段名 类型(长度) 备注
1 身份证号 STUDENT_PIN Varchar(18) (主键)
2 学生名 STUDENT_NAME Varchar(20)
3 班级 CLASS_CODE Varchar(10) 关联班级表的编号
4 性别 SEX Varchar(1) 1:男2:女
5 民族 NATION_CODE Varchar(4)10表名: T_CLASS 
序号 字段含义 字段名 类型(长度) 备注
1 编号 CLASS_CODE Varchar(10) (主键)
2 班级名 CLASS_NAME Varchar(20)
3 年级编号 GRADE_CODE Varchar(10) 关联年级表的编号9表名: T_GRADE
序号 字段含义 字段名 类型(长度) 备注
1 编号 GRADE_CODE Varchar(10) (主键)
2 年级名 GRADE_NAME Varchar(20)
3 年级缩写 GRADE_ABBR Varchar(2) 不重复
4 学校编号 SCHOOL_CODE Varchar(11) 关联学校表的编号11表名: T_ EXAMINATION 备注:年级测试项目考核表
序号 字段含义 字段名 类型(长度) 备注
性别 Sex Varchar(1) 1:男2:女
2 年级编号 GRADE_CODE Varchar(10) 关联年级表的年级缩写
3 测试项目编号 PROJECT_CODE Varchar(4) 关联测试项目表的编号
学校编号 SCHOOL_CODE VARCHAR(11) 关联学校表的编号
项目类别 PROJECTSORT_CODE VARCHAR(2) 关联项目类别编号18表名: T_PROJECTSORT 备注: 测试项目分类表
字段含义 字段名 类型(长度) 备注
编号 PROJECTSORT_CODE Varchar(2)  (主键)
类别名 PROJECTSORT_NAME Varchar(20) 1:耐力2:柔韧3:灵巧16表名: T_NATION 备注:民族表
序号 字段含义 字段名 类型(长度) 备注
1 编号 NATION_CODE Varchar(4)  (主键)
2 民族名 NATION_NAME Varchar(10)
SELECT * FROM
T_RESULT A,T_RESULT B,T_RESULT C,T_RESULT D,
T_STUDENT E,T_CLASS F,T_EXAMINATION G,
T_PROJECT H,T_PROJECT I,T_PROJECT K,T_PROJECT Q,
T_NATION O,T_GRADE PWHERE 
E.SEX = '1'
AND E.STUDENT_PIN =A.STUDENT_PIN
AND H.PROJECT_CODE = A.PROJECT_CODE
AND E.STUDENT_PIN =B.STUDENT_PIN 
AND I.PROJECT_CODE = B.PROJECT_CODE
AND E.STUDENT_PIN =C.STUDENT_PIN
AND K.PROJECT_CODE = C.PROJECT_CODE
AND E.STUDENT_PIN =D.STUDENT_PIN 
AND Q.PROJECT_CODE = D.PROJECT_CODE

AND E.NATION_CODE=O.NATION_CODE
AND E.CLASS_CODE=F.CLASS_CODE 
AND F.GRADE_CODE=P.GRADE_CODE
AND P.GRADE_CODE= + @GRADE_CODE
AND F.GRADE_CODE = G.GRADE_CODE AND G.PROJECT_CODE=H.PROJECT_CODE 
---****
AND G.PROJECT_CODE=I.PROJECT_CODE 
AND G.PROJECT_CODE=K.PROJECT_CODE 
AND G.PROJECT_CODE=G.PROJECT_CODE 
---****AND H.PROJECT_CODE= + @PROJECT_CODE1
AND I.PROJECT_CODE= + @PROJECT_CODE2
AND K.PROJECT_CODE= + @PROJECT_CODE3
AND Q.PROJECT_CODE= + @PROJECT_CODE4