ORACLEÎﻯÊÓͼ ÀûÓÃά¶ÔÏóÀ´ÓÅ»¯Êý¾Ý²Ö¿âµÄ¸ß¼¶¼¼ÇÉ
http://www.anysql.net/oracle/oracle_olap_dimension.html
ÔÚOracleµÄÊý¾Ý²Ö¿â(OLAP)ÖÐ, ʵÌ廯ÊÓͼ(MVIEW), ²éÑ¯ÖØÐ´(Query Rewrite)ºÍά(Dimension)ÊǷdz£ÖØÒªµÄÓÅ»¯ÊÖ¶Î, ¶ÔÓÚǰÁ½ÕßÎÒ²»ÏëÔÚÕâ¶ùÖØ¸´½²ÁË, Ö÷ÒªÀ´ÌåÑéÒ»ÏÂάµÄ×÷ÓÃ. Òª·¢»ÓάµÄ×÷ÓÃ, »¹ÊÇÐèÒªÓõ½Ç°ÃæÁ½Õß, ÏÂÃæÊÇÎÒÉè¼ÆµÄÖ»ÓÐÒ»¸öά±íµÄ×î¼òµ¥µÄÀý×Ó. Êý¾Ý¿âÓû§³ýÁË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);
&
Ïà¹ØÎĵµ£º
itpubÂÛ̳ÖÐÔøÓÐÐÖµÜ˵¹ýmaterialized viewÊÇÒԿռ任ʱ¼ä£¬ÎÒÈÏΪ·Ç³£ÌùÇС£ÎﻯÊÓͼʵ¼Ê¾ÍÊÇ»ùÓÚ²éѯµÄÊý¾Ý¿½±´£¬ÆäÐÎʽ
¼òµ¥Àí½âµÄ»°¿ÉÒÔ¿´³ÉÊÇcreate table table_name as select * from table¡£
ºÇºÇ£¬ÈËÃÇ×ÜÊÇÏ£ÍûÊÂÇéÔ½¼òµ¥Ô½ºÃÂÓÚÊǵ±°³¿´µ½Õâ¸ö¶«Î÷Õâô¼òµ¥£¬Í·ÄÔÒ»·¢ÈÈÒ²ÆÈ²»¼°´ý³åÁ˹ýÔÆ£¬ÏÂÃæÎҾ;ßÌåÃè ......
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 ......
DECODEº¯ÊýÏ൱ÓÚÒ»Ìõ¼þÓï¾ä(IF).Ëü½«ÊäÈëÊýÖµÓ뺯ÊýÖеIJÎÊýÁбíÏà±È½Ï£¬¸ù¾ÝÊäÈëÖµ·µ»ØÒ»¸ö¶ÔÓ¦Öµ¡£º¯ÊýµÄ²ÎÊýÁбíÊÇÓÉÈô¸ÉÊýÖµ¼°Æä¶ÔÓ¦½á¹ûÖµ×é³ÉµÄÈô¸ÉÐòżÐÎʽ¡£µ±È»£¬Èç¹ûδÄÜÓëÈκÎÒ»¸öʵ²ÎÐòżƥÅä³É¹¦£¬Ôòº¯ÊýÒ²ÓÐĬÈϵķµ»ØÖµ¡£Çø±ðÓÚSQLµÄÆäËüº¯Êý£¬DECODEº¯Êý»¹ÄÜʶ±ðºÍ²Ù×÷¿ÕÖµ.
Æä¾ßÌåµÄÓï·¨¸ñʽÈçÏ£º
DE ......
ÔÚOracleµÄQuery RewriteÖÐÖ÷ÒªÓÐÈýµã, µÚÒ»ÊÇҪʹÓÃCBO; µÚ¶þÊÇÒªÉèÖÃquery rewrite enabled²ÎÊýΪTRUE; µÚÈýÊÇÒªÏÈÔñÉèÖÃquery rewrite integrity²ÎÊýµÄÖµ(stale_tolerated, trusted, enforced). ¶ÔÓÚµÚÒ»µã, ÎÒÃÇ×îºÃanalyzeÏà¹ØµÄ±í¼°Ë÷Òý¼°MV; ¶ÔÓÚµÚ¶þµã,Õâ¸ö²ÎÊýÖ»ÓÐÁ½¸öÖµ(true, false), ºÜ¼òµ ......
´ó¼Ò¶¼ÖªµÀ£¬ÓÃPL/SQLÁ¬½ÓOracle£¬ÊÇÐèÒª°²×°Oracle¿Í»§¶ËÈí¼þµÄ¡£ÓÐûҪÏë¹ý²»°²×°Oracle¿Í»§¶ËÖ±½ÓÁ¬½ÓOracleÄØ£¿
ÆäʵÎÒÒ»Ö±ÏëÕâÑù×ö£¬ÒòΪÕâ¸ö¿Í»§¶ËʵÔÚÌ«ÈÃÈËÌÖÑáÁË£¡£¡£¡²»µ«»á°²×°Ò»¸öJDK£¬¶øÇÒ»¹»á°Ñ×Ô¼º·ÅÔÚ»·¾³±äÁ¿µÄ×îÇ°Ãæ£¬»áÔì³É²»Ð ......