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

ORACLE物化视图 利用维对象来优化数据仓库的高级技巧


http://www.anysql.net/oracle/oracle_olap_dimension.html
在Oracle的数据仓库(OLAP)中, 实体化视图(MVIEW), 查询重写(Query Rewrite)和维(Dimension)是非常重要的优化手段, 对于前两者我不想在这儿重复讲了, 主要来体验一下维的作用. 要发挥维的作用, 还是需要用到前面两者, 下面是我设计的只有一个维表的最简单的例子. 数据库用户除了connect, resource外, 还要给予Query Rewrite, Create Materialized View, Create Dimension权限.
    1, 创建一个维护表.
CREATE TABLE TIME_DIM 
AS
  SELECT TO_CHAR(SYSDATE+ROWNUM,'YYYY') F_YEAR,
         TO_CHAR(SYSDATE+ROWNUM,'YYYY-Q') F_QUATER,
         TO_CHAR(SYSDATE+ROWNUM,'YYYY-MM') F_MONTH,
         TRUNC(SYSDATE+ROWNUM,'DD') F_DAY
  from DBA_OBJECTS
  WHERE ROWNUM < 1000;
ALTER TABLE TIME_DIM MODIFY F_YEAR NOT NULL;
ALTER TABLE TIME_DIM MODIFY F_QUATER NOT NULL;
ALTER TABLE TIME_DIM MODIFY F_MONTH NOT NULL;
ALTER TABLE TIME_DIM MODIFY F_DAY NOT NULL;
ALTER TABLE TIME_DIM ADD PRIMARY KEY (F_DAY);
    2, 创建一个事实表.
CREATE TABLE FACT_SALES 
AS
  SELECT TRUNC(SYSDATE+ROWNUM,'DD') F_DAY,
         TRUNC(DBMS_RANDOM.VALUE * 10000,2)  M_AMOUNT1,
         TRUNC(DBMS_RANDOM.VALUE * 10000,2)  M_AMOUNT2
  from DBA_OBJECTS
  WHERE ROWNUM < 1000;
-- Please execute the following insert multiple times
INSERT INTO FACT_SALES 
  SELECT F_DAY,
         TRUNC(DBMS_RANDOM.VALUE * 10000,2)  M_AMOUNT1,
         TRUNC(DBMS_RANDOM.VALUE * 10000,2)  M_AMOUNT2
  from FACT_SALES
/  
ALTER TABLE FACT_SALES MODIFY F_DAY NOT NULL;
ALTER TABLE FACT_SALES ADD FOREIGN KEY (F_DAY) REFERENCES TIME_DIM(F_DAY);
&


相关文档:

ORACLE ORA 00132 ORA 00214

oracle断电后重启出现的问题已经解决方法
一、ORA-00132 
问题描述 :syntax error or unresolved network name ''
第1步:复制一份pfile参数文件(注意:oracle中的pfile指的就是init<sid>.ora文件)
$sqlplus '/as sysdba';
SQL> create pfile from spfile='/u01/oracle/product/10.2.0/db_1/dbs/spf ......

ORACLE物化视图 Query Rewrite的一般理解之三


  在Query Rewrite中大家看到这个技术离不开一样东西, 实体化视图, 简称MVIEW. 这是Oracle在8i中首先推出的技术, MVIEW除了在Query Rewrite中使用外, 还在Master - Slave复制中有很重要的作用, 在这儿我们主要关心Query Rewrite相关的地方, Oracle在Query Rewrite方面越来越强了, 在Oracle 8i中基本上是Text Ma ......

Oracle 创建序列

Oracle 创建序列:
create sequence SEQ_Tablename_id                                   
increment by   1 &nbs ......

Oracle支撑的asp.net2.0应用中自主实现数据依赖缓存

项目中有一些报表,本身速度就不太快,遇到数据量大的情况,更是让人抓狂,用户也提出了报表速度慢的问题,于是想着如何实现报表的数据依赖缓存,即将报表数据缓存,当数据发生改变时,再重新获取数据。
最简单的方法,是在显示报表的aspx页面第一行加上形如<%@ OutputCache Duration="600" VaryByParam="some_par ......

Oracle 的数据导入导出及 Sql Loader (sqlldr) 的用法

原文:http://www.blogjava.net/Unmi/archive/2009/01/05/249956.html
在 Oracle 数据库中,我们通常在不同数据库的表间记录进行复制或迁移时会用以下几种方法:
1. A 表的记录导出为一条条分号隔开的 insert 语句,然后执行插入到 B 表中
2. 建立数据库间的 dblink,然后用 create table B as select * from A ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号