问题
对于复杂的查询,往往是有多个数据表进行关联查询而得到,如果数据库因为需求等原因发生了改变,为了保证查询出来的数据与之前相同,则需要在多个地方进行修改,维护起来非常麻烦
解决办法:定义视图
视图是什么
通俗的讲,视图就是一条SELECT语句执行后返回的结果集。
所以我们在创建视图的时候,主要的工作就落在创建这条SQL查询语句上。
视图是对若干张基本表的引用,一张虚表,查询语句执行的结果,不存储具体的数据(基本表数据发生了改变,视图也会跟着改变);
方便操作,特别是查询操作,减少复杂的SQL语句,增强可读性;
定义视图
建议以v_开头
create view 视图名称 as select语句;
查看视图
查看表会将所有的视图也列出来
show tables;
使用视图
视图的用途就是查询
select * from v_stu_score;
删除视图
drop view 视图名称;
索引
-
索引的目的在于提高查询效率
-
原理都是一样的,通过不断的缩小想要获得数据的范围来筛选出最终想要的结果
索引的使用
- 查看索引
show index from 表名;
创建索引
* 如果指定字段是字符串,需要指定长度,建议长度与定义字段时的长度一致 * 字段类型如果不是字符串,可以不填写长度部分
- create index 索引名称 on 表名(字段名称(长度))
删除索引
drop index 索引名称 on 表名;
- 开启运行时间监测
set profiling=1;
- 查看执行的时间:
show profiles;