zoukankan      html  css  js  c++  java
  • 分区索引truncate某个分区,分区索引不失效

    <pre name="code" class="sql"><pre name="code" class="sql">SQL> select index_name,partition_name,user_stats,status from dba_ind_partitions where index_name='IDX1_T_PM_RANKINFO' and partition_name='RANKINFO_20140101';
    
    INDEX_NAME		       PARTITION_NAME		      USE STATUS
    ------------------------------ ------------------------------ --- --------
    IDX1_T_PM_RANKINFO	       RANKINFO_20140101	             NO  USABLE
    
    STATUS :USABLE 表示可用
    
    
    SQL> select index_name,index_type,partitioned,status from dba_indexes where index_name='IDX1_T_PM_RANKINFO';
    
    INDEX_NAME		       INDEX_TYPE		   PAR STATUS
    ------------------------------ --------------------------- --- --------
    IDX1_T_PM_RANKINFO	       NORMAL			   YES  N/A
    
    
    
    STATUS: Indicates whether a nonpartitioned index is VALID or UNUSABLE
    
    create index IDX1_T_PM_RANKINFO on T_PM_RANKINFO (MGR_CODE) local;
    
    
    
    SQL>  explain plan for select * from T_PM_RANKINFO where data_date='20140101' and mgr_code='57120';
    
    Explained.
    
    SQL>  select * from table(dbms_xplan.display());
    
    PLAN_TABLE_OUTPUT
    ------------------------------------------------------------------------------------------------------------------------------------------------------------
    
    --------------------------------------------
    Plan hash value: 1878632139
    
    -------------------------------------------------------------------------------------------------------------------------
    | Id  | Operation			   | Name		| Rows	| Bytes | Cost (%CPU)| Time	| Pstart| Pstop |
    -------------------------------------------------------------------------------------------------------------------------
    |   0 | SELECT STATEMENT		   |			|     8 |  1176 |     9   (0)| 00:00:01 |	|	|
    |   1 |  PARTITION LIST SINGLE		   |			|     8 |  1176 |     9   (0)| 00:00:01 |   KEY |   KEY |
    |   2 |   TABLE ACCESS BY LOCAL INDEX ROWID| T_PM_RANKINFO	|     8 |  1176 |     9   (0)| 00:00:01 |   367 |   367 |
    |*  3 |    INDEX RANGE SCAN		   | IDX1_T_PM_RANKINFO |     8 |	|     1   (0)| 00:00:01 |   367 |   367 |
    -------------------------------------------------------------------------------------------------------------------------
    
    Predicate Information (identified by operation id):
    ---------------------------------------------------
    
       3 - access("MGR_CODE"='57120')
    
    15 rows selected.
    
    
    删除分区 :
    
    
    alter table T_PM_RANKINFO truncate  partition RANKINFO_20140101;
    SQL> select index_name,partition_name,user_stats,status from dba_ind_partitions where index_name='IDX1_T_PM_RANKINFO' and partition_name='RANKINFO_20140101';
    
    INDEX_NAME		       PARTITION_NAME		      USE STATUS
    ------------------------------ ------------------------------ --- --------
    IDX1_T_PM_RANKINFO	       RANKINFO_20140101	      NO  USABLE
    
    
    分区索引仍旧有效
    SQL> select index_name,index_type,partitioned,status from dba_indexes where index_name='IDX1_T_PM_RANKINFO';
    
    INDEX_NAME		       INDEX_TYPE		   PAR STATUS
    ------------------------------ --------------------------- --- --------
    IDX1_T_PM_RANKINFO	       NORMAL			   YES N/A
    
    STATUS:
    
    回插数据:
    
    SQL> explain plan for select * from T_PM_RANKINFO where data_date='20140101' and mgr_code='57120';
    
    Explained.
    
    SQL>  select * from table(dbms_xplan.display());
    
    PLAN_TABLE_OUTPUT
    ------------------------------------------------------------------------------------------------------------------------------------------------------------
    
    --------------------------------------------
    Plan hash value: 1878632139
    
    -------------------------------------------------------------------------------------------------------------------------
    | Id  | Operation			   | Name		| Rows	| Bytes | Cost (%CPU)| Time	| Pstart| Pstop |
    -------------------------------------------------------------------------------------------------------------------------
    |   0 | SELECT STATEMENT		   |			|     8 |  1176 |     9   (0)| 00:00:01 |	|	|
    |   1 |  PARTITION LIST SINGLE		   |			|     8 |  1176 |     9   (0)| 00:00:01 |   KEY |   KEY |
    |   2 |   TABLE ACCESS BY LOCAL INDEX ROWID| T_PM_RANKINFO	|     8 |  1176 |     9   (0)| 00:00:01 |   367 |   367 |
    |*  3 |    INDEX RANGE SCAN		   | IDX1_T_PM_RANKINFO |     8 |	|     1   (0)| 00:00:01 |   367 |   367 |
    -------------------------------------------------------------------------------------------------------------------------
    
    Predicate Information (identified by operation id):
    ---------------------------------------------------
    
       3 - access("MGR_CODE"='57120')
    
    15 rows selected.
    
    结论:truncate 分区 分区索引没有影响


    
    
    
    
    
    
    
                                        
    
  • 相关阅读:
    android.os.NetworkOnMainThreadException的解决方案
    一些LinuxC的小知识点(一)
    一些LinuxC的小知识点(二)
    <assert.h>库学习
    <string.h>的学习
    Java异常的中断和恢复
    Java Collection或Map的同步
    Java经典实例:按字符颠倒字符串
    Java 经典实例: Unicode字符和String之间的转换
    Java经典实例:处理单个字符串
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13352045.html
Copyright © 2011-2022 走看看