易截截图软件、单文件、免安装、纯绿色、仅160KB

ORACLE物化视图 物化视图应用之初体验~~~


itpub论坛中曾有兄弟说过materialized view是以空间换时间,我认为非常贴切。物化视图实际就是基于查询的数据拷贝,其形式
简单理解的话可以看成是create table table_name as select * from table。
呵呵,人们总是希望事情越简单越好嘛,于是当俺看到这个东西这么简单,头脑一发热也迫不及待冲了过云,下面我就具体描述一
下我的一次实施过程。
我们的业务表中有一个用户表users,记录过千万,其中有一个状态值isbest以此判断是否是推荐用户,在前端有页面用来查询推荐
用户。如果直接查询users表,加上来回翻页等等,效率完全无法忍受,我们最初的方案很传统。
首先:
create table users_best as select * from users where isbest=1;
然后:
create or replace procedure RUN_DAYBACKUPBESTUSER is
begin
execute immediate 'truncate table users_best'; 
Insert Into users_best Select * from select * from users where isbest=1;
commit;
end RUN_DAYBACKUPBESTUSER;
最后:创建job定期执行RUN_DAYBACKUPBESTUSER。逻辑很简单,实施完之后效果还不错,但当看到物化视图之后感觉物化视图仿佛
实现会更简单,于是。。。。。。
首先:drop table users_best;
然后:
CREATE MATERIALIZED VIEW USERS_BEST 
refresh complete
as 
select * from users where isbest=1;
(refresh是做什么用的呢?用来指定刷新计划,参数有三个fast、complete和force,fast利用物化视图日志(这个东西也有意思,回头专门写文详述)同步需要更新的行,complete则是重建视图,force相当于将权力将给oracle了,它爱怎么地怎么地吧)
看看结果,select * from user_best;en结果是正确的,可是它怎么自动刷新呢?再改改。。。
CREATE MATERIALIZED VIEW USERS_BEST 
refresh complete
Start With Sysdate Next trunc(sysdate, 'HH24')+1/12
as 
select * from users where isbest=1;
start with指定第一次同步的时间,next则是下次执行时间了,当前设置为每2小时同步一次。于是借助materialzed view,只需要简单的几行代码就实现了之前又是create as又是proc又是job的功能。
再回个头来看看,哇塞功能果然是相当强大,操作果然是相当简单,看来oracle在客户可能出现的操
作逻辑方面确实考虑良多,基本上我们想要的它都帮我们实现了,并且如此复杂的功能以如此简单的操作实现。
好了,初体验至此结束,大家热切


相关文档:

ORACLE STANDBY学习实践科学发展观心得体会

实践第一讲:
名词解释:
dataguard:呵呵 ORACLE高可用体系中三架马车之一(RAC、STREAM)。干嘛用???就是异地备份、容灾什么的。什么原理??==聊哈。
primary:数据母体
standby:数据母体的拷贝或备份或克隆(只能克9个 为什么 要问ORACLE 为什么 log_archive_dest_n 这个你N的上限是10喽)
实践第二件:
实践检 ......

Oracle常用的一些语法、命令和函数

一、常用语法 --1. 删除表时级联删除约束
drop table 表名 cascade constraint
--2. 当父表中的内容被删除后,子表中的内容也被删除
on delete casecade
--3. 显示表的结构
desc 表名
--4. 创建新的用户
create user [username] identified by [password]
--5. 给用户分配权限
grant 权限1、权限2...to 用户 ......

细谈Oracle的权限

我们经常谈及Oracle的权限,比如Connect,DBA,resource, sysdba, select any
table,
select_catelog_role这样一些权限,让我们眼花缭乱的,那么如何来区分这些种类繁多的privilege中不至于眼迷离呢,这个文章将
会对你在这方面的了解起到帮助。
    
 以上我们看到的这些权限,都是可以通过g ......

Oracle9中XML SQL Utility技术指导(java)

■     开发前要求配置
■     Select XML格式数据
■     Insert XML格式数据
■     Updata XML格式数据
■     Delete XML格式数据
开发前要求配置
必须安装Oracle客户端
把Classpath指向
classes111.zip ......

必须引起DBA重视的Oracle数据库碎片

来源:[url]http://www.wangchao.net.cn/bbsdetail_1788053.html[/url]
目前,Oracle已经广泛的应用于各个行业。作为一名DBA,及时发现并整理碎片已经成为DBA日常工作中的一项重要维护内容。 1、碎片是如何产生的 当生成一个数据库时,它会分成称为表空间(tablespace)的多个逻辑段(segment),如系统(system)表空间,临时(te ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号