Oracle数据库-视图和索引

一、视图

视图是一个虚拟的表,可以当作一个真实的表使用。视图也有行和列数据,但是视图并不在数据库中以储存数据的形式存在。视图里的数据来自于定义视图查询所引用的表,并且在引用视图时动态生成(视图不是真是存在磁盘上的)。

  • 简化:select查询语句
  • 重用:封装select 语句
  • 隐藏:隐藏内部细节
  • 区分:相同数据不同查询

1、视图的创建

不是所有的用户都有创建视图的权限,如果没有权限需要提权。

  • 授权:gran t dba to 用户;
  • 回收:revoke dba from 用户;

视图创建的语法:

create or replace view 视图名称 as 查询语句;

create create or replace view vw_sstudent as select * from sstudent;

Tips:

  • 如果要修改视图只需要更改查询语句再次执行创建视图的SQL语句就行。
  • 如果修改源数据则视图中的数据也会发生改变。

2、删除视图

对视图的删除操作不会影响到源表

删除视图的语法:

drop view 视图名称

drop view vw_sstudent;

二、索引

索引时数据库的对象之一,用于加快数据库的检索。

索引时提查询速度的一种手段,但不是适用于任何场景。如果数据很少不建议使用,数据量特别多使用才有明显效果,否则很有可能会降低查询速度。

1、索引的创建

给表设置属性的时候会默认自动生成一个索引。

创建索引的语法:

create index 索引名称 on 表名(字段名...);

create index index_sal on emp(sal);

2、删除索引

删除索引的语法:

drop index 索引名称;

drop index index_sal;

猜你喜欢

转载自blog.csdn.net/Asdzxc968/article/details/104829881