zoukankan      html  css  js  c++  java
  • Oracle 9i & 10g编程艺术-深入数据库体系结构-学习笔记(持续更新中)

    --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    100
    EMP    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    85
    PK_YW_ZJFPDQ    3    5    1
    PK_YW_YJFPLS_9    57    5    11
    PK_YW_YJFPLS_8    35    5    1
    PK_YW_YJFPLS_7    15    5    1
    PK_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;

          

  • 相关阅读:
    Jmeter测试报表相关参数说明
    jQuery实现图片延迟加载
    Jmeter 用动态参数进行测试
    MyEclipse 10.6 汉化和破解工具
    将图片转成二进制并生成Base64编码,可以在网页中通过url查看图片
    List的二种循环速度比较
    java+flash在线拍照和编辑,保存到服务器(Spring3.2.2+swf+jquery)
    eclipse中如何去除警告:Class is a raw type. References to generic type Class<T> should be parameterized
    weblogic异常weblogic.utils.NestedRuntimeException: Cannot parse POST parameters of request
    在静态页面html中跳转传值
  • 原文地址:https://www.cnblogs.com/iyoume2008/p/6602184.html
Copyright © 2011-2022 走看看