oracle第三天总结<orcle的若干的对象>
(1)视图
a>普通视图
创建视图:create or replace view myview_view as select * from myemp3;
删除视图:drop view myview;
理解:一般视图不推荐做插入、修改操作,推荐做with read only 查询、
因为如果遇到一些特殊语句,insert,update 操作就不行。
b>物化视图
create materialized view myemp3_materialized refresh force on demand start with sysdate next
to_date(concat(to_char( sysdate+1,'dd-mm-yyyy'),'10:25:00'),'dd-mm-yyyy hh24:mi:ss') as
select * from emp; --这个物化视图在每天10:25进行刷新
是否立即刷新数据:BUILD IMMEDIATE, BUILD DEFERRED
刷新方法有三种: FAST ,COMPLETE ,FORCE
刷新的模式有两种:ON DEMAND 和 ON COMMIT
理解:Oracle的物化视图是包括一个查询结果的数据库对像,它是远程数据的的本地副本,或者用来生成基于数据表求和的汇总表。
物化视图存储基于远程表的数据,也可以称为快照,是有对应的表来存储数据的。
(2)序列
创建序列:create sequence myemp3_seq;
使用序列:在insert into myemp3 values(myemp3_seq.nextval,'张三','男',10,'101001@qq.com');
获取当前值使用myemp3_seq.currval
注意:myemp3_seq.nextval 每调用一次nextval 指针向后移动一位,也就是该序列增加一次;
(3)同义词
创建同义词:create synonym mysys_synonym for myemp3; for 可以是其他对象
删除同义词:drop synonym mysys_synonym;
(4)索引
创建索引:create index myemp3_index on myemp3(name,email) 联合索引
删除索引:drop index myemp3_index;
创建索引的场景:
该列值很多,经常被查询
如果该列值经常做update 操作不适合