1.建表的时候创建
2.建表后再加
普通索引
ALTER TABLE score ADD INDEX index_stuid(studentid); 复合索引 ALTER TABLE students dd INDEX index_sname_saddress(sname,saddress);
使用索引
SELECt studentid,score FROM score USE INDEX(index_stuid) WHERe studentid>=3;
删除索引
DROp INDEX index_sname_saddress ON students;
补充:
1.如果索引建错了,更新没有意义,直接删除再重新创建
2.索引会提高检索效率,但是操作数据时(增,删,改)会同步操作索引,需要的时间会长一些
3. 怎么查看业务执行的时间
方法一:看SQL语句的执行信息
方法二:使用时间函数,再执行业务执行前后加时间变量,取当前时间,二时间相减,就是业务的执行时间
视图(虚拟表)
视图上还可以再建视图
作用:简化表结构,满足不同业务的需求,可以少建表
创建视图
CREATE VIEW view_stu_score AS SELECT a.scode AS 学号,a.sname AS 姓名,b.score AS 分数 FROM students a INNER JOIN score b ON a.scode=b.studentid INNER JOIN course c ON b.courseid=c.courseid;
使用视图
SELECt * FROM view_stu_score WHERe 学号=1;
更新视图
加性别字段:ssex
ALTER VIEW view_stu_score AS SELECt a.scode AS 学号,a.sname AS 姓名,b.score AS 分数,a.ssex AS 性别 FROM students a INNER JOIN score b ON a.scode=b.studentid INNER JOIN course c ON b.courseid=c.courseid;
删除视图
DROP VIEW view_stu_score;



