:2007.02.05 13:03
: Oracle
http://xsb.itpub.net/post/419/260482
---------------------------------------------------------------
ô洢OUTLNĹٻߴ洢ڱ˽дȶijЩSQLִмƻЩִмƻͲΪͳݻỰŻģʽĸıı䡣
SQLִʱORACLEȷִмƻǰ˳еģ
- 鹲ǷпõĴ
- ֵǷпõĴ
- 鹲ǷпɹõѽSQL
- ŻģʽͳƲѡŵִмƻ
ǰ¶ֳɵִмƻ
--û
--alter system set query_rewrite_enabled = true;
alter system set use_stored_outlines = true;
CREATE OR REPLACE OUTLINE OL0 ON
SELECT ... FROM t1b,t2 a WHERE ... AND b.report_date BETWEEN TO_DATE(:beginDate,'yyyy-mm-dd hh24:mi:ss') AND TO_DATE(:endDate,'yyyy-mm-dd hh24:mi:ss') group by ...;
CREATE OR REPLACE OUTLINE OL1 ON
SELECT /*+ index (a) */ ... FROM t1b,t2 a WHERE ... AND b.report_date BETWEEN TO_DATE(:beginDate,'yyyy-mm-dd hh24:mi:ss') AND TO_DATE(:endDate,'yyyy-mm-dd hh24:mi:ss') group by ...;--sys½
UPDATE OUTLN.OL$HINTS SET OL_NAME=DECODE(OL_NAME,'OL1','OL0', 'OL0','OL1') WHERE OL_NAME IN ('OL0','OL1');
--ԭû
DROP OUTLINE OL1;
select * from OUTLN.OL$HINTS;select * from user_outlines ;






