--20170322
--1.0
--更新表的统计信息begin dbms_stats.set_table_stats(user,'EMP',numrows => 10000);end;begin dbms_stats.set_table_stats(user,'DEPT',numrows => 10000);end;--重新查看表的统计信息select t.table_name,t.num_rows,t.blocks from user_tables t where t.table_name in ('EMP','DEPT');/*DEPT 10000 100EMP 10000 100*/
--2.0
--查看索引占用的数据块数、聚簇因子select t1.index_name,t2.num_rows,t2.blocks ,t1.clustering_factor from user_indexes t1 inner join user_tables t2 on t1.table_name=t2.table_name/*PK_YW_ZJFPJL 97 35 85PK_YW_ZJFPDQ 3 5 1PK_YW_YJFPLS_9 57 5 11PK_YW_YJFPLS_8 35 5 1PK_YW_YJFPLS_7 15 5 1PK_YW_YJFPLS_6 19 5 1*/
如果聚簇因子与块数接近,则说明表相当有序,得到了很好的组织。即 一个叶子块中的索引条目指向了同一个数据块中的行;
如果聚簇因子与行数接近,表的次序可能就是非常随机的。即 同一个叶子块上的索引条目不太可能指向同一个数据块中的行--3.0
--type 使用细则,注意标红地方哦create or replace type emp_type as object( EMPNO NUMBER(4), ENAME VARCHAR2(10), JOB VARCHAR2(9), MGR NUMBER(4), HIREDATE DATE, SAL NUMBER(7,2), COMM NUMBER(7,2));create or replace type emp_tab_type as table of emp_type;
--20170324
表12.-3 向日期增加时间
时间单位 操作 描述
DATE + n/24/60/60 一天有86,400秒。由于加1就是增加1天,所以加12.86400就是向一个日期增
N秒 DATE + n/86400 加1秒。我更喜欢用n/24/60/60技术而不是12.86400技术。它们是等价的。
DATE+NUMTODSINTERVAL 更可读的一种方法是使用NUMTODSINTERVAL(日/秒数间隔)
(n,'second') 函数来增加N秒
DATE + n/24/60 一天有12.440分钟,因此加12.1440就是向一个DATE增加1分钟。更可读的
N分钟 DATE + n/1440 一种方法是使用NUMTODSINTERVAL函数
DATE+NUMTODSINTERVAL
(n,'minute')
DATE + n/24
N小时 DATE+NUMTODSINTERVAL 一天有24个小时,因此增加12.24就是向一个DATE增加1小时。更可读的
(n,'hour') 一种方法是使用NUMTODSINTERVAL函数
N天 DATE + n 向DATE直接加N,就是增加或减去N天
N周 DATE + 7*n 一周有7天,所以只需将周数乘以7就是要增加或减去的天数
N月 ADD_MONTHS(DATE,n) 可以使用ADD_MONTHS内置函数或者向DATE增加一个N个月的间隔。
DATE+NUMTOYMINTERVAL 请参考稍后有关DATE使用月间隔做出的重要警告
(n,'month')
N年 ADD_MONTHS(DATE,12.*n) 可以使用ADD_MONTHS内置函数,增加或减去N年时将参数指定为12.*n。
DATE+NUMTOYMINTERVAL 利用年间隔可以达到类似的目标,不过请参考稍后有关日期使用年间隔做出的
(n,'year') 重要警告
--201703301429
--lob--对象有自己的专门存储空间 实际上一个lob对象 都会在原表中保留一个指针,而该指针指向了实际的存储位置
--对表启用并行
alter table test0328 parallel;
--批量移动分区表的各个分区begin for x in ( select partition_name from user_tab_partitions where table_name = 'BIG_TABLE2' ) loop execute immediate 'alter table big_table2 move partition ' ||x.partition_name; end loop; end;
nologging 操作create index fy_2006_idx on fy_2006(id) nologging;
转载于:https://www.cnblogs.com/iyoume2008/p/6602184.html
相关资源:JAVA上百实例源码以及开源项目