alter index ind1 rebuild 和alter index ind1 rebuild online

1、alter index ind1 rebuild ;
           这种方法是对已有的索引进行快速全扫描(如果当索引比表本身还大时也会full table scan的。)然后排序(为什么要排序?这时候Oracle是按照存储的顺序而不是index tree创建的顺序读取,而且索引在存储时是块间有序快内无序的。)再写回索引段,由其原理我们可以得知,这种方法在操作时是不允许对索引进行更改的也就意味着对应的表不能进行dml(查询不受影响,因原index依然可用)操作。从阻塞表上的操作来讲它和drop and create 是一样的,但其速度要快许多因为它扫描的是索引而不是表。当新索引建立后删除旧索引。
   2、alter index ind1 rebuild online;
         这种方法是对表数据进行全表扫描然后建立新的索引,在这个过程中old index 依然可用,因此它不会阻塞表上的dml操作,但其速度很慢。在建立新索引的过程中如果表上发生了dml操作,这些操作对索引的影响会记录到系统自动创建的JOURNAL TABLE AND INDEX内,等新索引建立完成后JOURNAL TABLE AND INDEX的内容会merge到新索引中,因此rebuild online 也应该在系统不太繁忙的时候进行,不然JOURNAL 表会很大,merge会很费时而merge会锁表对并发有影响。

try{var s = window.name;parent.MM[s].initIframe();}catch(e){}

时间: 2024-09-20 18:43:26

alter index ind1 rebuild 和alter index ind1 rebuild online的相关文章

MySQL执行计划extra中的using index 和 using where using index 的区别

原文:MySQL执行计划extra中的using index 和 using where using index 的区别   本文出处:http://www.cnblogs.com/wy123/p/7366486.html (保留出处并非什么原创作品权利,本人拙作还远远达不到,仅仅是为了链接到原文,因为后续对可能存在的一些错误进行修正或补充,无他)   mysql执行计划中的extra列中表明了执行计划的每一步中的实现细节,其中包含了与索引相关的一些细节信息其中跟索引有关的using index

Elasticsearch——禁止Body中的index覆盖Url中的index参数

本篇继续一下Elasticsearch日常使用的技巧翻译. 在Elasticsearch有很多的api支持在body中指定_index等信息,比如mget或者msearch以及bulk. 默认的情况下,body中的index会覆盖掉url中的index参数.比如: $ curl localhost:9200/test/_mget?pretty -d '{"docs":[{"_index":"test1","_id":1},{&

undefined index: php中提示Undefined index的解决方法

我们经常接收表单POST过来的数据时报Undefined index错误,如下:$act=$_POST['action'];用以上代码总是提示Notice: Undefined index: act in D:\test\post.php on line 20另外,有时还会出现Notice: Undefined variable: Submit ...... 等一些这样的提示 出现上面这些是 PHP的提示而非报错,PHP本身不需要事先声明变量即可直接使用,但是对未声明变量会有提示.一般作为正式的

zt:alter system switch logfile与ALTER SYSTEM ARCHIVE LOG CURRENT的区别

alter system switch logfile 是强制日志切换,不一定就归档当前的重做日志文件(若自动归档打开,就归档前的重做日志,若自动归档没有打开,就不归档当前重做日志.)alter system archive log current 是归档当前的重做日志文件,不管自动归档有没有打都归档.主要的区别在于:ALTER SYSTEM SWITCH LOGFILE对单实例数据库或RAC中的当前实例执行日志切换;而ALTER SYSTEM ARCHIVE LOG CURRENT会对数据库中

聚合索引(clustered index) / 非聚合索引(nonclustered index)

以下我面试经常问的2道题..尤其针对觉得自己SQL SERVER 还不错的同志.. 呵呵 很难有人答得好.. 各位在我收集每个人擅长的东西时,大部分都把SQL SERVER 标为Expert,看看是否答的上来..  1. 什么是聚合索引(clustered index) / 什么是非聚合索引(nonclustered index)? 2. 聚合索引和非聚合索引有什么区别?  深入浅出理解索引结构       实际上,您可以把索引理解为一种特殊的目录.微软的SQL SERVER提供了两种索引:聚集

MYSQL 中的GROUP BY 的方式 (1)(loose index scan松散扫描 tight index scan紧凑扫描)

水平有限有误请指出,转载请说明出处 测试脚本: create table tgrploose(p_id int primary key auto_increment,s_id1 int,s_id2 int,s_id3 int, key(s_id1,s_id2,s_id3)); create table tgrpnloose(p_id int primary key auto_increment,s_id1 int,s_id2 int,s_id3 int, key(s_id1,s_id2,s_id

[20120712]10g下Oracle Index rebuild online.txt

[20120712]10g下Oracle Index rebuild online.txt oracle rebuild online时要建立一张IOT表,为了保证事务依旧能操作,需要记录索引rebuild期间的DML操作.但是10g与11g下rebuild的机制有一些不同. index online rebuild 前先建立一张IOT表跟踪后续DML操作,然后merge全部的改变到索引中. 下面通过例子来说明: BANNER ----------------------------------

[20120801]11g下Oracle Index rebuild online之3.txt

[20120801]11g下Oracle Index rebuild online之3.txt 接着昨天的测试继续: 昨天在索引rebuild online时,按ctrl+c中断时,要等很长时间,不想一些dml语句如果挂起,按ctrl+c很快退出.今天继续测试看看.. SQL> select * from v$version ; BANNER -----------------------------------------------------------------------------

【MOS】Index Rebuild Is Hanging Or Taking Too Long (文档 ID 272762.1)

APPLIES TO: Oracle Database - Enterprise Edition - Version 8.1.7.4 to 9.2.0.4 [Release 8.1.7 to 9.2]Information in this document applies to any platform. SYMPTOMS  . CHANGES  . CAUSE  . SOLUTION (AuthWiz 1.2) Created from <<TAR:3405564.995>> A