千万行级表关联查询 请问如何优化

xeppp 2011-05-24 08:36:28
大家好

  我们在做一考试系统报表。学生表人数1000万  教师表人数1000万  成绩表2000万  选课表1000万

现在要根据学生名称 或是 老师名称 或是  学生性别 或是 课程名称 做条件做统计

eg:查询某个老师所教的课程下所有学生成绩(总成绩 或是 平均成绩)

现在过程写出来了  但是查询速度 在 30-50 秒间  

请有搞过海量数据的大侠  帮帮忙   小弟先谢了     
...全文
180 12 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
nevergu 2011-05-25
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 sql_xep 的回复:]
如果不常更改 只是查询 可以试试分区表 如果男女 是可选项 就听楼上的 分区视图
[/Quote]
+1
sql_xeppp 2011-05-25
  • 打赏
  • 举报
回复
如果不常更改 只是查询 可以试试分区表 如果男女 是可选项 就听楼上的 分区视图
打一壶酱油 2011-05-24
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 xeppp 的回复:]
重点说说 像它只选 男 或  女  进行查询  这个最费时  50多秒  
[/Quote]
这个查询当然慢,你看看查询计划,是全表扫描。如果这些表不常修改,只是常用于查询,可以考虑建立
索引视图,速度理论上会快很多
haa17 2011-05-24
  • 打赏
  • 举报
回复
语句怎么写的?
xeppp 2011-05-24
  • 打赏
  • 举报
回复
重点说说 像它只选 男 或  女  进行查询  这个最费时  50多秒  
快溜 2011-05-24
  • 打赏
  • 举报
回复
采用临时表。
xeppp 2011-05-24
  • 打赏
  • 举报
回复
索引都建了  是where里用到的  除了性别  其它的都建了
xeppp 2011-05-24
  • 打赏
  • 举报
回复
归档 ?  我们用的sqlserver
xeppp 2011-05-24
  • 打赏
  • 举报
回复
学生表
学生ID   学生名称   学生性别   学生年龄   等等

成绩表
成绩ID   学生ID   科目ID

课程表
课程ID   课程名称   教师ID   

教师表
老师ID   老师名称   
jhone99 2011-05-24
  • 打赏
  • 举报
回复
适当建立索引会提高查询速度
jwdream2008 2011-05-24
  • 打赏
  • 举报
回复
数据能归档了尽量先归档吧!
快溜 2011-05-24
  • 打赏
  • 举报
回复
表结构呢?

22,300

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧