快精灵印艺坊 您身边的文印专家
广州名片 深圳名片 会员卡 贵宾卡 印刷 设计教程
产品展示 在线订购 会员中心 产品模板 设计指南 在线编辑
 首页 名片设计   CorelDRAW   Illustrator   AuotoCAD   Painter   其他软件   Photoshop   Fireworks   Flash  

 » 彩色名片
 » PVC卡
 » 彩色磁性卡
 » 彩页/画册
 » 个性印务
 » 彩色不干胶
 » 明信片
   » 明信片
   » 彩色书签
   » 门挂
 » 其他产品与服务
   » 创业锦囊
   » 办公用品
     » 信封、信纸
     » 便签纸、斜面纸砖
     » 无碳复印纸
   » 海报
   » 大篇幅印刷
     » KT板
     » 海报
     » 横幅

创建MYSQL实体化视图的几个注重点

1。假如要创建基表是其它用户表的实体化视图,那么需要给实体化视图的owner赋予以下权限:
grant CREATE ANY MATERIALIZED VIEW to username;
grant SELECT ANY TABLE to username;
假如要创建refresh on commit的视图,那么还需要下面这个权限:
grant ON COMMIT REFRESH to username;

2。创建refresh on commit的语法如下,此类实体化视图在基表的事务commit之后,就会马上刷新
CREATE MATERIALIZED VIEW MV_T1
REFRESH FAST ON COMMIT WITH PRIMARY KEY AS SELECT * FROM kamus.t1;

3。假如不指定on commit,那么默认是on demand,只有手工调用DBMS_MVIEW包中的刷新过程,实体化视图才会被刷新

4。指定了start with ... next ...选项之后,第一次创建会有作一次完整刷新,然后在指定的时间间隔之后会定时刷新,本例中刷新间隔为1分钟。
语法如下:
CREATE MATERIALIZED VIEW MV_T1
REFRESH FAST START WITH SYSDATE NEXT sysdate+1/24/60 WITH PRIMARY KEY AS SELECT * FROM kamus.t1;
检查USER_REFRESH视图和USER_JOBS视图,我们可以发现start with... next ...语法也就是Oracle自动创建了一个刷新组,这个刷新组的名称跟实体化视图名称一样,并且IMPLICIT_DESTROY属性为Y,表示只要该组中的实体化视图删除该组也自动被删除。同时,创建了一个JOB,JOB中的waht属性是dbms_refresh.refresh (\\\'"SCOTT"."MV_T1"\\\');
自然,由于自动刷新是通过JOB完成的,那么初始化参数job_queue_processes必须大于0,这样JOB才会正常运行。

5。可以自己创建刷新组来定时刷新,我以前的这篇文章中有创建刷新组的方式:
返回类别: 教程
上一教程: TOPN 子句与SET ROWCOUNTN 之对比
下一教程: ORACLE 的位图索引

您可以阅读与"创建MYSQL实体化视图的几个注重点"相关的教程:
· 删除数据库中重复数据的几个方式
· ACCESS97关于数据库安全的几个问题
· 删除数据库中重复数据的几个方式
· MYSQL下创建数据库的两种方法
· SQL核心语句:异常实用的几个技巧
    微笑服务 优质保证 索取样品