oracle 序列、视图、索引

时间:2023-03-09 18:41:53
oracle 序列、视图、索引

序列

创建 在sequences里

oracle 序列、视图、索引

作用

生成自动增长(或减少)的整数值

经常添加数据时使用,可控性好

写法:序列名.nextval  获取下一个序列值

   序列名.currval  获取当前序列值,不常用。

oracle 序列、视图、索引

视图

在物理表的基础上定义的虚拟表

创建 在views里

oracle 序列、视图、索引

作用:

把复杂的查询逻辑以视图的形式保存起来,便于查询结果的重用

一般用来查询数据,不用来做数据更新

常用于系统的兼容或迁移

视图不能添加索引,适合数据量小的查询语句

创建视图

oracle 序列、视图、索引

写法:select * from 视图名字

oracle 序列、视图、索引

物化视图

对普通视图的数据进行物理存储

可以创建索引,适合数据量大的查询语句

但是数据不和原表同步,需要刷新。

创建 在Materialized views

oracle 序列、视图、索引

创建完在tables里会多一个表

oracle 序列、视图、索引

刷新语句

在命令窗口创建

exec dbms_mview.refresh('物理视图名')

oracle 序列、视图、索引

索引

提高查询效率的一种方式

自动创建:根据主键或唯一性约束自动创建

手动创建:列中数据值分布范围很广

     列经常在 WHERE 子句或连接条件中出现

     表经常被访问而且数据量很大

     表不经常更新

特点:索引列的顺序要和查询条件的列的顺序一致,提高索引命中率。索引会影响数据更新的效率,不要多建。

创建方法

oracle 序列、视图、索引