oracle 序列、视图、索引
序列
创建 在sequences里
作用
生成自动增长(或减少)的整数值
经常添加数据时使用,可控性好
写法:序列名.nextval 获取下一个序列值
序列名.currval 获取当前序列值,不常用。
视图
在物理表的基础上定义的虚拟表
创建 在views里
作用:
把复杂的查询逻辑以视图的形式保存起来,便于查询结果的重用
一般用来查询数据,不用来做数据更新
常用于系统的兼容或迁移
视图不能添加索引,适合数据量小的查询语句
创建视图
写法:select * from 视图名字
物化视图
对普通视图的数据进行物理存储
可以创建索引,适合数据量大的查询语句
但是数据不和原表同步,需要刷新。
创建 在Materialized views
创建完在tables里会多一个表
刷新语句
在命令窗口创建
exec dbms_mview.refresh('物理视图名')
索引
提高查询效率的一种方式
自动创建:根据主键或唯一性约束自动创建
手动创建:列中数据值分布范围很广
列经常在 WHERE 子句或连接条件中出现
表经常被访问而且数据量很大
表不经常更新
特点:索引列的顺序要和查询条件的列的顺序一致,提高索引命中率。索引会影响数据更新的效率,不要多建。
创建方法