oracle alter index rebuild offline与online】的更多相关文章

oracle index build online与offline测试环境为oracle 11.2.0.4 --sql test SQL> conn test/test )); begin .. loop insert into test.rb_test values(i,'ok'); commit; end loop; end; / SQL> select count(*) from test.rb_test; COUNT(*) ---------- SQL> create index…
在ITPUB 论坛上看到的一个帖子,很不错.根据论坛的帖子重做整理了一下. 原文链接如下: alter index rebuild online引发的血案 http://www.itpub.net/thread-1445427-1-1.html 一. 官网说明 在MOS 上的一篇文章讲到了rebuild online 和offline的区别: Index Rebuild Is Hanging Or Taking Too Long [ID 272762.1] Symptoms:========= …
什么时候需要重建索引 1. 删除的空间没有重用,导致 索引出现碎片 2. 删除大量的表数据后,空间没有重用,导致 索引"虚高" 3.索引的 clustering_facto 和表不一致 也有人认为当索引树高度超过4的时候需要进行重建,但是如果表数量级较大,自然就不会有较高的树,而且重建不会改变索引树高度,除非是由于大量引起的索引树“虚高”,重建才会改善性能,当然这又回到了索引碎片的问题上了. 关于索引是否需要重建,Oracle有这么一句话: Generally speaking, th…
其实之前做过类型的验证,不过影响不是特别深,只是记得不会改变DATA COMPRESSION,那今天再次遇到这个问题就再拿出来验证一下.随便写个脚本验证下.ALTER INDEX ... REBUILD没有改变例子中表的PARTITION SCHEME和DATA COMPRESSION. CREATE PARTITION FUNCTION myRangePF1 (int) , , ); GO CREATE PARTITION SCHEME myRangePS1 AS PARTITION myRa…
Oracle里大量删除记录后,表和索引里占用的数据块空间并没有释放. table move可以释放已删除记录表占用的数据块空间,整理碎片.如果将表格用move方式整理碎片后,索引将失效,这时需要将索引重建. 重建索引可以释放已删除记录索引占用的数据块空间.重建索引不仅能增加索引表空间空闲空间大小,还能够提高查询性能. --table move alter table tbl move; --rebuild索引 alter index idx_tbl_col rebuild; alter inde…
1 可见性 索引的可见性(visibility)指的是该索引是否对CBO优化器可见,即CBO优化器在生成执行计划的时候是否考虑该索引,可以看作是索引的一个属性.如果一个索引可见性属性为:invisible. 默认情况下CBO优化器生成执行计划的时候,不再考虑该索引,仅此而已.与可见索引一样,执行DML操作时,数据库会相应维护索引的数据.但是对于local 索引,我们不能单独为某个分区 设置不可见属性,只能对整个索引设置不可见属性. 设置索引可见性 不可见属性,可以在创建索引时指定,也可以后期调整…
1.什么是引 索引是建立在表的一列或多个列上的辅助对象,目的是加快访问表中的数据:Oracle存储索引的数据结构是B*树,位图索引也是如此,只不过是叶子节点不同B*数索引:索引由根节点.分支节点和叶子节点组成,上级索引块包含下级索引块的索引数据,叶节点包含索引数据和确定行实际位置的rowid. 2.使用索引的目的 当查询返回的记录数排序表<40%非排序表 <7%且表的碎片较多(频繁增加.删除)时可以加快查询速度减少I/O操作消除磁盘排序 3.索引的分类及结构 从物理上说,索引通常可以分为:分区…
原文来自:http://www.sqlskills.com/blogs/paul/mixed-pages-removed-index-rebuild/ 在SQL SERVER 中,区是管理空间的基本单位,连续的8个页为一分区,分区可分为混合区和统一区(也叫独占区),混合区内存放一个或多个对象的数据,统一区只存放一个对象的数据.为提高空间的利用率,对于新表或索引,会先从混合区上分配页,当表或索引增长到 8 页时,将变成使用统一区进行后续分配. 让我们来测试下 首先,创建测试数据 --=======…
索引是与表相关的一种可选择数据库对象.索引是为提高数据检索的性能而建立,利用它可快速地确定指定的信息. 索引可建立在一表的一列或多列上,一旦建立,由ORACLE自动维护和使用,对用户是完全透明的.然而而当一表上存在许多索引时,修改.删除和插入操作的性能会下降. 索引是表的一个微型拷贝.创建索引的方法: 自动    当用户在表上定义了PRIMARY KEY或UNIQUE约束时,一个唯一索引将回被自动创建.手工     用户为了加快查询速度,在列上创建索引. 唯一索引:索引字段值不允许重复. 创建唯…
转: https://blog.csdn.net/killvoon/article/details/46913183 -----------------------2015-07-16---------------------------------------------发现记忆力确实不如以前了,一些东西总是记不住,不出三天便忘得一干二净. 关于alter database datafile offline和alter database datafile offline drop之前遇到了几次…