【摘要】:索引的修改主要包含修改索引的物理属性、手工分配和回收存储空间、重建索引、合并索引、重命名索引等。合并索引数据库在使用过程中,表的数据不断被更新,就会在索引中产生越来越多的存储碎片,DBA可以通过索引的合并操作来清理这些存储碎片。②DEALLOCATE UNUSED表示合并索引的同时,释放合并后多余的存储空间。DBA经常用重构索引来减少索引存储空间碎片,提高应用系统的性能。例如,下面代码将索引bookname_idx重命名为bn_idx。
索引的修改主要包含修改索引的物理属性、手工分配和回收存储空间、重建索引、合并索引、重命名索引等。
(1)合并索引
数据库在使用过程中,表的数据不断被更新,就会在索引中产生越来越多的存储碎片,DBA可以通过索引的合并操作来清理这些存储碎片。SQL语句的语法为:
ALTER INDEX索引名COALESCE[DEALLOCATE UNUSED];
其中:
①COALESCE表示合并索引。
②DEALLOCATE UNUSED表示合并索引的同时,释放合并后多余的存储空间。合并的操作只是将B⁃树索引的叶子节点中的存储碎片合并在一起,并没有改变索引的物理组织结构。
(2)重构索引
与合并操作类似,重构索引也可以清除存储碎片,并且重构操作可以改变索引的存储位置,其语法为:(www.daowen.com)
ALTER INDEX索引名REBUILD[TABLESPACE表空间名];
其中,TABLESPACE子句为索引指定新的存储表空间。
例如,下面语句对books表中bookname列上的bookname_idx索引进行重构,并把重构后的索引存储到demots表空间上。
重构索引是根据原来的索引结构重新建立索引,实际是删除原来的索引后再重新建立。DBA经常用重构索引来减少索引存储空间碎片,提高应用系统的性能。
(3)重命名索引
使用ALTER INDEX...RENAME TO...语句可以对索引进行重命名。
例如,下面代码将索引bookname_idx重命名为bn_idx。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。
有关Oracle数据库管理与开发的文章