Oracle对索引分析的优化(转载)
a[@more@]今天在PUB上看贴的时候发现了一个有趣的现象,Oracle在进行索引分析的时候并非完全按照指定的方式进行。比如,要求Oracle进行COMPUTE STATISTICS分析,但是Oracle很可能进行的是ESTIMATE STATISTICS。测试版本9204,Oracle在数据量达到一定量的情况下,会改变分析的默认行为,由COMPUTE STATISTICS变为ESTIMATE STATISTICS:SQL> CREATE TABLE T_STAT (ID NUMBER, NAME VARCHAR2(100), CREATE_DATE DATE);Table created.SQL> CREATE INDEX IND_T_STAT_ID ON T_STAT(ID);Index created.SQL> CREATE INDEX IND_T_STAT_NAM
ORA-06512: at OLAPSYS.CWM2_OLAP_UTILITY
[@more@]在部署立方的时候,报错以下错误:ORA-06510: PL/SQL: unhandled user-defined exceptionORA-06512: at "OLAPSYS.CWM2_OLAP_UTILITY", line 1660ORA-01403: no data foundORA-06512: at "OLAPSYS.CWM2_OLAP_CUBE", line 33ORA-06512: at "OLAPSYS.CWM2_OLAP_CUBE", line 55ORA-06512: at "OLAPSYS.CWM2_OLAP_CUBE", line 386ORA-06512: at line 10立方部署到CWM2中,而引用的一个维部署到CWM2中,而另一个没有部署到CWM2。可以通过调试,查看错误原因:SQL> set serveroutput on
以BIN$开头的表
a[@more@]我打开数据库中,发现有不少以BIN$开头的表,比较奇怪,后来查了一下相关资料,原这些表是“former”表,就是以前的表,就是已经被删除的表,这些表呢是放在垃圾箱(recyclebin)中。如何清除他们呢只要执行PURGE RECYCLEBIN or PURGE DBA_RECYCLEBIN即可。那么如何避免出现这样的表呢只要drop table的时候,加上PURGE就可以了,just like: drop table your table_name PURGE.
全连接FULL JOIN-two side outer join
[@more@]FULL JOIN -two side outer joinSyntaxFROM Table1 [Alias1] FULL JOIN Table2 [Alias2] ON {Table1|Alias1}.Field1 = {Table2|Alias2}.Field2SQL92 (explicit declaration of a full or union join)SELECT Fieldlist FROM Table1 [Alias1] LEFT JOIN Table2 [Alias2] ON {Table1|Alias1}.Field1 = {Table2|Alias2}.Field2 UNIONSELECT Fieldlist FROM Table1 [Alias1] RIGHT JOIN Table2 [Alias2] ON {Table1|Alias1}.Field1 = {Table2|Alias2}.Field2SQL92 (if a direct declaration of a full or union join is not supported
先恭喜自己,博客开张,哈哈
工作已经多年了,发现无论生活还是工作上,自己的积累还是太少了,太少了,因此想借博客来纪录一下思绪的跳跃[@more@]