面试题问如何建立索引这种问题该怎么回答呀

各位大佬们!
面试题问如何建立索引这种问题该怎么回答呀。。。。
问题1
比如一张用户表 有字段:id,名字name,性别sex,电话tel,年龄age,地址addr  ,现在sql不确定,所有字段都可能被查询。问怎么建立索引。
问题2
一张学生表student(学生id,名字name,班级class_id),一张课程分数表student_score(id 课程id 学生id 分数score  ),怎么查1班总分大于500的学生 的姓名和分数,
怎么建立索引。

=====9.19=====
第二个问题,表的字段  id , subject_id , student_id ,score


全部评论
问题一: 首先对id建主键索引是应该的吧,然后性别和年龄重复性太大不适合建索引,然后电话是唯一的,适合建唯一索引,地址得看是什么地址了,宽泛的地址重复性也很大,姓名重复性应该不是太大,可以建个普通索引。 问题二: select student.name, student_score.score from student join student_score on student.class_id=1 and student.id=student_score.student_id and student_score.score>500; 班级和分数重复性太大不适合单独建索引,可以和student_id一起建个组合索引,on子句中student表中涉及到的列(student_id, class_id)建组合索引,student_score表中涉及的列(student_id,score)建组合索引
点赞 回复 分享
发布于 2018-09-18 22:52
CREATE INDEX id_name_sex_age_addr ON 用户表 (id,name,sex, age);tel可加可不加 如果Tel唯一创个unique索引
点赞 回复 分享
发布于 2018-09-18 22:57
select b.name,a.sumscore from(select 学生 id,sum(score)as sumscore from score where sumscore>500)a join student b on a.学生id=b.学生id
点赞 回复 分享
发布于 2018-09-18 22:49

相关推荐

我以为牛客上有美团题库是秋招人都知道的事儿...... 没想到在XHS上刷到了室友评论了卖美团题库的人求资料 秋招信息壁垒这么严重吗???
10yi:信息就在那里,只是缺少主动搜集信息的能力,我相信去百度一下都能知道哪里有题库,而不是遇到问题首先想有没有人帮我做
点赞 评论 收藏
分享
半解316:内容充实,细节需要修改一下。 1,整体压缩为一页。所有内容顶格。 2,项目描述删除,直接写个人工作量 修改完之后还需要建议,可以私聊
点赞 评论 收藏
分享
评论
点赞
18
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务