oracle中重建索引

  
  
    数据库的索引如果有比较频繁的 Delete 操作, 将可能导致索引产生很多碎片,
所以,在有的时候,需要对所有的索引重新 REBUILD,以便合并索引块,减少碎
片,提高查询速度。
SQL> set heading off
SQL> set feedback off
SQL> spool d:index.sql
SQL> SELECT ‘alter index ‘ || index_name || ‘ rebuild ‘
||‘tablespace INDEXES storage(initial 256K next 256K pctincrease 0);‘
FROM all_indexes
WHERE ( tablespace_name != ‘INDEXES‘
OR next_extent != ( 256 * 1024 )
)
AND owner = USER
SQL>spool off
时间: 2024-10-31 14:59:16

oracle中重建索引的相关文章

Oracle中的索引详解

Oracle中的索引概述 索引与表一样,也属于段(segment)的一种.里面存放了用户的数据,跟表一样需要占用磁盘空间.索引是一种允许直接访问数据表中某一数据行的树型结构,为了提高查询效率而引入,是一个独立于表的对象,可以存放在与表不同的表空间中.索引记录中存有索引关键字和指向表中数据的指针(地址).对索引进行的I/O操作比对表进行操作要少很多.索引一旦被建立就将被Oracle系统自动维护,查询语句中不用指定使用哪个索引. 从物理上说,索引通常可以分为:分区和非分区索引.常规B树索引.位图(b

Oracle中的索引

Oracle中的索引 在关系数据库中,索引是一种与表有关的数据库结构,它是除表以外的另一个重要模式对象.索引是建立在表的一列或多个列上的辅助对象,目的是提高表中数据的访问速度. 索引时表示数据的另一种方式,它提供的数据顺序不同于数据在磁盘上的物理存储顺序.它重新排列数据的物理位置,使其值为有序键值列表,每个键值是指向表行的指针,故其排列方式使其搜索变得更加有效. 如果表中定义了主键约束,而主键列上不存在索引,则Oracle自动创建一个. Oracle中常用的索引类型有:B树索引.反向键索引.位图

Oracle中B-TREE索引的深入理解(转载)

索引概述 索引与表一样,也属于段(segment)的一种.里面存放了用户的数据,跟表一样需要占用磁盘空间.只不过,在索引里的数据存放形式与表里的数据存放形式非常的不一样.在理解索引时,可以想象一本书,其中书的内容就相当于表里的数据,而书前面的目录就相当于该表的索引.同时,通常情况下,索引所占用的磁盘空间要比表要小的多,其主要作用是为了加快对数据的搜索速度,也可以用来保证数据的唯一性.但是,索引作为一种可选的数据结构,你可以选择为某个表里的创建索引,也可以不创建.这是因为一旦创建了索引,就意味着o

Oracle中组合索引的使用详解(转)

在Oracle中可以创建组合索引,即同时包含两个或两个以上列的索引.在组合索引的使用方面,Oracle有以下特点: 1. 当使用基于规则的优化器(RBO)时,只有当组合索引的前导列出现在SQL语句的where子句中时,才会使用到该索引: 2. 在使用Oracle9i之前的基于成本的优化器(CBO)时, 只有当组合索引的前导列出现在SQL语句的where子句中时,才可能会使用到该索引,这取决于优化器计算的使用索引的成本和使用全表扫描的成本,Oracle会自动选择成本低的访问路径(请见下面的测试1和

Oracle中的索引详解(转载)

一. ROWID的概念 存储了row在数据文件中的具体位置:64位 编码的数据,A-Z, a-z, 0-9, +, 和 /, row在数据块中的存储方式 SELECT ROWID, last_name FROM hr.employees WHERE department_id = 20; 比 如:OOOOOOFFFBBBBBBRRR OOOOOO:data object number, 对应dba_objects.data_object_id FFF:file#, 对应v$datafile.fi

[转]Oracle中的索引详解

原文地址:http://www.oschina.net/question/30362_4057 一. ROWID的概念 存储了row在数据文件中的具体位置:64位 编码的数据,A-Z, a-z, 0-9, +, 和 /, row在数据块中的存储方式 SELECT ROWID, last_name FROM hr.employees WHERE department_id = 20; 比 如:OOOOOOFFFBBBBBBRRR OOOOOO:data object number, 对应dba_o

在oracle中重建新数据库后如何切换之前数据库,多个数据库之间如何切换

通过这个软件,创建一个SQLSERVER的数据库,之前的数据库一直是ORCL,即sqlplus system/orcl 后 NAME --------- ORCL 这样,但创建完新的数据库后长这样如下: 现在使用的PL/SQL DEVELOPER是可以两个数据库ORCL,和SQLSERVER都可以链接 希望让控制台从SQLSERVER的链接中回到ORCL的数据库的链接中 没想到今天运气好居然快速成功找回,折磨n天的问题终于找回 SET ORACLE_SID = SID名称即 SET ORACLE

oracle中位图索引和B-tree索引的区别

1.适用系统的不同:位图索引适合OLAP系统,而B-tree索引适合OLTP系统. 2.占用存储空间不同:位图索引只需要很小的存储空间,而B-tree索引需要占用很大的存储空间. 3.创建需要的时间不同:位图索引创建很快,而B-tree索引创建很耗时. 4.dml操作影响大小不同:位图索引只适合海量查询,update.insert.delete时会产生负影响,而B-tree索引适合频繁的dml操作. 5.查询范围不同:位图索引适合数据重复率高的表,且可以高效地执行包含AND,OR或者XOR的逻辑

solr中重建索引(转)

Stop your application server Change your schema.xml file Start your application server Delete the index directory in your data directory (or alternately delete all documents using <delete><query>*:*</query></delete> before shutting