oracle笔记

大表处理:
实例:


create table hs_trade_list_tb  --建表
  (  
    ......
    subacct varchar2(32),               
    trandate varchar2(10),   
    ......     
  )
partition by range(trandate) --按时间分区
(
      partition date201001 values less than ('201001%'),
      partition date201002 values less than ('201002%'),
      partition date201003 values less than ('201003%'),
      ......
      partition date2013 values less than (MAXVALUE)

)
tablespace BRASDB02;--指定表空间(单独分配个表空间)

--建索引
create index ind_tList_trandate on hs_trade_list_tb(trandate) local ;
create bitmap index ind_tList_ctflg on hs_trade_list_tb(ctflg) local;   


--分析表(该步骤勿漏)
analyze table hs_trade_list_tb compute statistics for all indexes;
analyze table hs_trade_list_tb compute statistics for all indexed columns;
analyze table hs_trade_list_tb compute statistics for table;

 

 

 

 

--得到全年周末

--建表
create table TEST2
(
  DAYS VARCHAR2(10),
  END  VARCHAR2(1)
)
--插入日期
insert into test2(days)
 select to_char(to_date('20110101', 'yyyymmdd') + rownum - 1,'yyyy-mm-dd')
  from all_objects
 where rownum <= to_char(to_date('20111231', 'yyyymmdd'), 'ddd')
;
--加入星期几
update test2 t set t.end=(SELECT TO_CHAR(to_date(t.days,'yyyy-mm-dd'),'D') FROM DUAL);
--过滤工作日
delete test2 t where t.end<7 and t.end>1;

你可能感兴趣的:(oracle)