知识大全 全局索引的ONLINE重建要注意影响

Posted 索引

篇首语:泪水和汗水的化学成分相似,但前者只能为你换来同情,后者却可以为你赢得成功!本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 全局索引的ONLINE重建要注意影响相关的知识,希望对你有一定的参考价值。

全局索引的ONLINE重建要注意影响  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  前几天遇到一个问题 重建一个表的索引的时候 竟然用了 个多小时 后来仔细检查了一下创建慢的索引 发现基本都是全局索引而且都是ONLINE方式重建 每个分区的重建时间基本相同 大约在 分钟左右 其实导致问题的原因很简单 由于采用ONLINE方式 而且全局索引的每一个分区的数据可能来自这个表的任何一个分区 所以ORACLE对于全局索引的任何一个分区的重建都要走全表扫描

  SQL> SHOW USER

  USER is TEST

  SQL> CREATE TABLE T(ID INT NAME VARCHAR ( ))

     PARTITION BY RANGE(ID)

     (

     PARTITION P VALUES LESS THAN( )

     PARTITION P VALUES LESS THAN( )

     PARTITION P VALUES LESS THAN( )

     PARTITION P VALUES LESS THAN( )

     PARTITION P VALUES LESS THAN( )

     PARTITION PMAX VALUES LESS THAN(MAXVALUE)

     )

     /

  Table created

  SQL> CREATE INDEX T_ID_IDX ON T(ID) GLOBAL

     PARTITION BY HASH(ID)

     PARTITIONS

     /

  Index created

  SQL> COL INDEX_NAME  FORMAT A

  SQL> COL PARTITION_NAME FORMAT A

  SQL> SELECT INDEX_NAME PARTITION_NAME FROM USER_IND_PARTITIONS WHERE INDEX_NAME= T_ID_IDX ;

  INDEX_NAME           PARTITION_NAME

  

  T_ID_IDX             SYS_P

  T_ID_IDX             SYS_P

  T_ID_IDX             SYS_P

  T_ID_IDX             SYS_P

  T_ID_IDX             SYS_P

  T_ID_IDX             SYS_P

  T_ID_IDX             SYS_P

  T_ID_IDX             SYS_P

  T_ID_IDX             SYS_P

  T_ID_IDX             SYS_P

  T_ID_IDX             SYS_P

  T_ID_IDX             SYS_P

  T_ID_IDX             SYS_P

  T_ID_IDX             SYS_P

  T_ID_IDX             SYS_P

  T_ID_IDX             SYS_P

  T_ID_IDX             SYS_P

  T_ID_IDX             SYS_P

  T_ID_IDX             SYS_P

  T_ID_IDX             SYS_P

  T_ID_IDX             SYS_P

  T_ID_IDX             SYS_P

  T_ID_IDX             SYS_P

  T_ID_IDX             SYS_P

  T_ID_IDX             SYS_P

  T_ID_IDX             SYS_P

  T_ID_IDX             SYS_P

  T_ID_IDX             SYS_P

  T_ID_IDX             SYS_P

  T_ID_IDX             SYS_P

  T_ID_IDX             SYS_P

  T_ID_IDX             SYS_P

   rows selected

  SQL> INSERT INTO T SELECT OBJECT_ID OBJECT_NAME FROM ALL_OBJECTS;

   rows created

  SQL> MIT;

  Commit plete

  SQL> EXEC DBMS_STATS GATHER_TABLE_STATS(USER T CASCADE=>TRUE);

  PL/SQL procedure successfully pleted

  SQL> EXPLAIN PLAN FOR ALTER INDEX T_ID_IDX REBUILD PARTITION SYS_P ;

  Explained

  SQL> SELECT * FROM TABLE(DBMS_XPLAN DISPLAY);

  PLAN_TABLE_OUTPUT

  

  Plan hash value:

  

  | Id  | Operation               | Name     | Rows  | Bytes | Cost  | Pstart| Pstop |

  

  |   | ALTER INDEX STATEMENT   |          | |   K|    |       |       |

  |   |  INDEX BUILD NON UNIQUE | T_ID_IDX |       |       |       |       |       |

  |   |   SORT CREATE INDEX     |          | |   K|       |       |       |

  |   |    PARTITION HASH SINGLE|          |       |       |       |     |     |

  |   |     INDEX FAST FULL SCAN| T_ID_IDX |       |       |       |     |     |

  

  Note

  

   cpu costing is off (consider enabling it)

   rows selected

  SQL> EXPLAIN PLAN FOR ALTER INDEX T_ID_IDX REBUILD PARTITION SYS_P ONLINE;

  Explained

  SQL> SELECT * FROM TABLE(DBMS_XPLAN DISPLAY);

  PLAN_TABLE_OUTPUT

  

  Plan hash value:

  

  | Id  | Operation              | Name     | Rows  | Bytes | Cost  | Pstart| Pstop |

  

  |   | ALTER INDEX STATEMENT  |          | |   K|    |       |       |

  |   |  INDEX BUILD NON UNIQUE| T_ID_IDX |       |       |       |       |       |

  |   |   SORT CREATE INDEX    |          | |   K|       |       |       |

  |   |    PARTITION RANGE ALL |          | |   K|    |     |     |

  |*  |     TABLE ACCESS FULL  | T        | |   K|    |     |     |

  

  Predicate Information (identified by operation id):

  

   filter(TBL$OR$IDX$PART$NUM( TEST T ID )= )

  Note

  

   cpu costing is off (consider enabling it)

   rows selected

  SQL> EXPLAIN PLAN FOR ALTER INDEX T_ID_IDX REBUILD PARTITION SYS_P ;

  Explained

  SQL> SELECT * FROM TABLE(DBMS_XPLAN DISPLAY);

  PLAN_TABLE_OUTPUT

  

  Plan hash value:

  

  | Id  | Operation               | Name     | Rows  | Bytes | Cost  | Pstart| Pstop |

  

  |   | ALTER INDEX STATEMENT   |          | |   K|    |       |       |

  |   |  INDEX BUILD NON UNIQUE | T_ID_IDX |       |       |       |       |       |

  |   |   SORT CREATE INDEX     |          | |   K|       |       |       |

  |   |    PARTITION HASH SINGLE|          |       |       |       |     |     |

  |   |     INDEX FAST FULL SCAN| T_ID_IDX |       |       |       |     |     |

  

  Note

  

   cpu costing is off (consider enabling it)

   rows selected

  SQL> EXPLAIN PLAN FOR ALTER INDEX T_ID_IDX REBUILD PARTITION SYS_P ONLINE;

  Explained

  SQL> SELECT * FROM TABLE(DBMS_XPLAN DISPLAY);

  PLAN_TABLE_OUTPUT

  

  Plan hash value:

  

  | Id  | Operation              | Name     | Rows  | Bytes | Cost  | Pstart| Pstop |

  

  |   | ALTER INDEX STATEMENT  |          | |   K|    |       |       |

  |   |  INDEX BUILD NON UNIQUE| T_ID_IDX |       |       |       |       |       |

  |   |   SORT CREATE INDEX    |          | |   K|       |       |       |

  |   |    PARTITION RANGE ALL |          | |   K|    |     |     |

  |*  |     TABLE ACCESS FULL  | T        | |   K|    |     |     |

  

  Predicate Information (identified by operation id):

  

   filter(TBL$OR$IDX$PART$NUM( TEST T ID )= )

  Note

  

   cpu costing is off (consider enabling it)

   rows selected

cha138/Article/program/Oracle/201311/18578

相关参考

知识大全 如何高效online创建大表的索引

  MicrosoftWindows[版本]  (C)版权所有MicrosoftCorp  C:\\DocumentsandSettings\\Administrator>systeminfo 

知识大全 重建索引(rebuild index)与sort

  重建索引到底要不要排序?有人说要因为创建索引时需要排序有人说不要因为重建索引的时候可以直接扫描旧的索引来重建成新的索引让我们来看一下rebuildindex到底需不需要排序    SQL>s

知识大全 分区表、分区索引和全局索引部分总结

  分区表分区索引和全局索引  在一个表的数据超过过万条或占用G空间时建议建立分区表       create table ta(

知识大全 在ORACLE里按用户名重建索引的方法

在ORACLE里按用户名重建索引的方法  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  如果你管理

知识大全 在Oracle数据库中按用户名重建索引的方法

在Oracle数据库中按用户名重建索引的方法  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  如果

知识大全 VC.NET索引对查询条件顺序的影响

VC.NET索引对查询条件顺序的影响  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  环境SqlS

知识大全 简析Oracle Online Redo LogFile

简析OracleOnlineRedoLogFile  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 

知识大全 Oracle9i新特性-索引监视及注意事项[修正版]

Oracle9i新特性-索引监视及注意事项[修正版]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

当前,物价上涨较快,通胀预期增强,这个问题涉及民生,关系全局,影响稳定。解决这一问题,政府可以采取的措施是

当前,物价上涨较快,通胀预期增强,这个问题涉及民生,关系全局,影响稳定。解决这一问题,政府可以采取的措施是_____。A、减少各种税收B、扩大银行贷款规模C、增加货币发行量D、提高银行存贷款利率答案:

知识大全 文件 - 索引文件(二)

  索引文件的操作  检索操作  检索分两步进行  ①将外存上含有索引区的页块送人内存查找所需记录的物理地址  ②将含有该记录的页块送人内存  注意  ①索引表不大时索引表可一次读入内存在索引文件中检