当涉及到数据量过大,业务逻辑需要经常跨表查询时可建立一个跨表的视图,不过视图有一个坏处就是没法建索引而且查询的时候也不会调用原有表的索引,故查询速度可能会慢,有利有弊,用者自行判断。
- 创建(或修改)视图
CREATE OR REPLACE VIEW 视图名 AS SELECT [...] FROM [...];
一般比较常用的就是两种情况
一、基于同一数据库
这种情况较为简单,只需简单的一行sql命令,如下:
create view v as (select * from table1) union all (select * from table2);
二、基于不同数据库
这种情况只比上面的sql语句多一个数据库的名字,如下:
create view 数据库1.v as (select * from 数据库1.table1) union all (select * from 数据库2.table2);
或
create view 数据库2.v as (select * from 数据库1.table1) union all (select * from 数据库2.table2);
如果执行第一个sql将在数据库1下建立视图,反之亦然;
- 查看视图详情
>DESC 视图名;
或者
>SHOW FIELDS FROM 视图名
- 删除视图
DROP VIEW [IF EXISTS]
View_name [,view_name1]……