什么是视图(View)?
视图其实就是一张表。
1、视图的使用条件
如果某个查询结果出现的非常频繁,而且要经常拿这个查询结果来做子查询,为了减少代码的编写,使用视图会更加方便。
2、使用视图的好处
a、简化查询语句
b、可以进行权限控制
把表的权限封闭,但是开放相应的视图权限,视图里只开放部分数据列。
c、大数据表分表的时候,比如某张表的数据有100万条,那么可以将这张表分散成四个视图。
按照对id取余计算
3、创建视图
create or replace view v_test as select * from user;
加上 OR REPLACE 表示该语句还能替换已有的视图
4、调取视图
select * from v_test;
5、修改视图
alter view v_test as select * from user1;
6、删除视图
drop view if exists v_test;
7、查看视图
show tables;
视图放在information_schema数据库下的views表里
8、查看视图的定义
show table status from companys like 'v_test';
9、视图的算法——存在两种执行的算法
a、Merge:合并的执行方式,每当执行的时候,先将我们的视图的sql语句与外部查询视图的sql语句,混合在一起,最终执行。
b、Temptable:临时表模式,每当查询的时候,将视图所使用的select语句生成一个结果的临时表,再在当当前临时表内进行查询。