友情提示:如果本网页打开太慢或显示不完整,请尝试鼠标右键“刷新”本网页!阅读过程发现任何错误请告诉我们,谢谢!! 报告错误
狗狗书籍 返回本书目录 我的书架 我的书签 TXT全本下载 进入书吧 加入书签

oracle从入门到精通(PDF格式)-第26章

按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!






4。手动分配区:  



  alter table hr。employees allocate extent(size 500k datafile 'filepath');  



5。非分区表的重组  



  alter table owner。table move tablespace space_name;  

  当表被重组后,它的结构被重组,但内容没有影响;  

  约束条件不变,但与其对应的索引不存在了,所以重组之后的索引必须重建;  

  可以被用于移动表到新的表空间或者重组区;  



6。删除列:  



    alter table owner。table_name drop   

    column col_name cascade constraints checkpoint 1000;  

    

    checkpoint 1000  每一千行 执行一次检查点  

  检查点:完成同步,将写入日志的改变对应的数据写入数据文件中;  

    从每行中删除掉列占据的长度和数据,释放在数据块中占用的空间。  

    删除大表中的一列将花费比较长的时间。  



7。重命名表中的一列:  



    alter table owner。table_name  



                              第 68 页,共 106 页 


…………………………………………………………Page 69……………………………………………………………

资源来自网络,仅供学习!                                                       Oracle 从入门到精通 



    rename column old_name to new_name;  



8。标记列不再使用:  



    alter table owner。table_name  

    set unused column col_name cascade constraints;  



9。删除不使用的列:  



    alter table owner。table_name  

    drop unused columns checkpoint 1000;  



10。继续列的删除操作:  



    alter table owner。table_name  

    drop columns continue checkpoint 1000;   



11。得到表的信息:  



    DBA_TABLES  DBA_OBJECTS  



22、管理索引(index)  



  关键字+ROWID,排序!!!  



1。索引的分类:  



     逻辑上:  

    Single column 单行索引  

    Concatenated  多行索引  

    Unique        唯一索引  

    NonUnique     非唯一索引  

    Function…based 函数索引  

    Domain  域索引  

     物理上:  

    Partitioned     分区索引  

    NonPartitioned 非分区索引  

    B…tree:  

       Normal    正常型 B 树  

       Rever Key 反转型 B 树  

    Bitmap        位图索引  



2。索引结构:  



           B…tree:  

               适合与大量的增、删、改(OLTP);  



                                  第 69 页,共 106 页 


…………………………………………………………Page 70……………………………………………………………

资源来自网络,仅供学习!                                                 Oracle 从入门到精通 



             不能用包含 OR 操作符的查询;  

             适合高基数的列(唯一值多)  

             典型的树状结构;  

             每个结点都是数据块;  

             大多都是物理上一层、两层或三层不定,逻辑上三层;  

             叶子块数据是排序的,从左向右递增;  

             在分支块和根块中放的是索引的范围;  

          Bitmap:  

             适合与决策支持系统;  

             做 UPDATE 代价非常高;  

             非常适合 OR操作符的查询;  

             基数比较少的时候才能建位图索引;  

             树型结构:  

                 索引头   

                 开始 ROWID,结束 ROWID(先列出索引的最大范围)  

                 BITMAP  

             每一个 BIT对应着一个 ROWID,它的值是 1 还是0,如果是 1,表示着 BIT对应 

       的 ROWID 有值;  



3。存储参数:  



       initial 初始化大小  

       next  下一个区大小  

       pctincrease 区大小增量    

       minextents  最小区数(本地管理)  

       maxextents  最大区数(本地管理)  



4。创建B…TREE索引:  



    CREATE INDEX owner。index_name  

    ON owner。table_name(col_list)  

    PCTFREE n  

    STORAGE(INITAL nK NEXT nK PCTINCREASE n MAXEXTENTS n )  

    TABLESPACE space_name;  



5。索引PCTFREE的变化:  



    索引不存在 PCTUSED;   

    PCTFREE 的含义是为新的插入预留的空间,在索引创建时保留;  

    在索引中是没有 UPDATE的。  



6。创建索引的提示:  



    平衡查询与 DML 操作的需求,不要建太多的索引;  

    将索引放在单独的表空间;  

    使用统一的区大小:5 块的整倍数或表空间的 MINIMUMEXTENT的大小;  



                              第 70 页,共 106 页 


…………………………………………………………Page 71……………………………………………………………

资源来自网络,仅供学习!                                                  Oracle 从入门到精通 



    对于大的索引考虑使用 NOLOGGING(不产生日志文件,插入时速度快,索引不需要产生日志);   

    索引的 INITRANS 应该比相应表的 INITRANS 设置的高一些;  



7。创建位图索引:  



    参数: create_bitmap_areasize 在创建位图索引之前为其分配区域。  

    CREATE BITMAP INDEX owner。index_name  

    ON owner。table_name(col_list)  

    PCTFREE 30  

    STORAGE(INITAL 200K NEXT 200K PCTINCREASE 0 MAXEXTENTS 50)  

    TABLESPACE space_name;  



8。改变索引参数:  



    alter index index_name storage(NEXT 400K MAXEXTENTS 50);  

    

  高水平线(HWM):曾经被使用过的最后一块的位置,当对存储对象进行 TRUNCATE 时,  

       高水平线才会回到起点。  

    对全表扫描的时候,读到高水平线为止;  



9。重建索引:  



    移动索引到另外的表空间;  

    通过清除删除掉的索引记录提高了空间的利用率,改善 PCTFREE 设置不良带来的问题;  

    alter index index_name rebuild tablespace space_name;  



10。在线重建索引:(建议不使用)  



    alter index index_name rebuild online;  



11。合并索引:  



    alter index index_name coalesce;  

    只能把同一个分支下的空间合并。  



12。删除索引:  



    在数据做大量数据装载之前删除索引,之后再重建索引;  

    删除那些很少使用的索引,在需要的时候再创建(月底报表);  

    删除并重建失效的索引;  

    删除不需要的索引(备选);             

    drop index owner。index_name;  



13。确定未使用的索引:  



    开始监视索引的使用:ALTER INDEX index_name MONITORING USAGE;  



                               第 71 页,共 106 页 


…………………………………………………………Page 72……………………………………………………………

资源来自网络,仅供学习!                                             Oracle 从入门到精通 



    停止监视索引的使用:ALTER INDEX index_name NOMONITORING USAGE;    



14。查看索引信息:  



    dba_indexes  提供索引的信息  

    dba_ind_columns 提供索引列的信息  

      



23、管理口令安全和资源  



    profiles:是命名的口令管理和资源限制的集合;  

             不是物理上的文件;  

         
返回目录 上一页 下一页 回到顶部 0 0
未阅读完?加入书签已便下次继续阅读!
温馨提示: 温看小说的同时发表评论,说出自己的看法和其它小伙伴们分享也不错哦!发表书评还可以获得积分和经验奖励,认真写原创书评 被采纳为精评可以获得大量金币、积分和经验奖励哦!