问大家一个关于数据库查询效率的问题

kingofmatch 2005-12-10 09:36:21
我有两个表:
student:
sid,name,class

grade:
gid,sid,point

因为我两个表的数据都是上千近万的,用SQL查询 成绩分数point大于80的所有学生姓名,只返回成绩最好的10条记录即可,请问怎么构建查询语句效率最高?

我目前用的是
SELECT TOP 10 student.name FROM grade LEFT JOIN student ON grade.sid=student.sid WHERE grade.point>80
...全文
89 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
wanglh100 2005-12-10
  • 打赏
  • 举报
回复
>和<应尽量精确到>=或<=,那样效率也会提高。当然这是细微之处。
jspadmin 2005-12-10
  • 打赏
  • 举报
回复
你都说了,当然是先筛选了,如果能将top 10也放到筛选里,然后再关联,效率可能会更高
kingofmatch 2005-12-10
  • 打赏
  • 举报
回复
这条SQL语句 是先将两个表关联了再筛选point>80 还是 先筛选point>80了再关联?
这是影响效率的关键。明显后者速度比较快

28,406

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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