分割槽表的分割槽資料刪除、truncate會對全域性和區域性索引產生什麼影響
分割槽表的分割槽資料刪除、truncate會對全域性和區域性索引產生什麼影響
總結:康標
email:
建立測試表t。
SQL> create table t 2 partition by range (a) 3 ( 4 partition p1 values less than (10000) tablespace part1, 5 partition p2 values less than (20000) tablespace part2, 6 partition p3 values less than (30000) tablespace part3, 7 partition p4 values less than (40000) tablespace part4, 8 partition p5 values less than (maxvalue) tablespace part5 9 ) 10 as select rownum a ,b.* from all_objects b; |
建立一個本地索引
SQL> create index t1 on t(a) local; Index created |
建立一個全域性索引
SQL> create index t2 on t(object_id); Index created |
檢視索引的狀態
SQL> select index_name,status from user_indexes; INDEX_NAME STATUS ------------------------------ -------- T1 N/A T2 VALID SQL> select index_name,partition_name,status from user_ind_partitions 2 ; INDEX_NAME PARTITION_NAME STATUS ------------------------------ ------------------------------ -------- T1 P1 USABLE T1 P2 USABLE T1 P3 USABLE T1 P4 USABLE T1 P5 USABLE |
刪除部分資料
SQL> delete from t where a < 100; 99 rows deleted SQL> commit; Commit complete SQL> select index_name,partition_name,status from user_ind_partitions; INDEX_NAME PARTITION_NAME STATUS ------------------------------ ------------------------------ -------- T1 P1 USABLE T1 P2 USABLE T1 P3 USABLE T1 P4 USABLE T1 P5 USABLE SQL> select index_name,status from user_indexes; INDEX_NAME STATUS ------------------------------ -------- T1 N/A T2 VALID |
從上面可以看到,刪除資料對本地和全域性索引都沒有什麼影響。
看看使用truncate刪除表的分割槽。本地索引沒有什麼問題,
SQL> alter table t truncate partition p1; Table truncated SQL> select index_name,partition_name,status from user_ind_partitions; INDEX_NAME PARTITION_NAME STATUS ------------------------------ ------------------------------ -------- T1 P1 USABLE T1 P2 USABLE T1 P3 USABLE T1 P4 USABLE T1 P5 USABLE |
全域性索引的狀態:產生不可用的狀態。就是說truncate只是會對全域性索引產生影響
SQL> select count(*) from t where a=1000; COUNT(*) ---------- 0 SQL> select index_name,status from user_indexes; INDEX_NAME STATUS ------------------------------ -------- T1 N/A T2 UNUSABLE |
總結:
1、刪除資料對本地和全域性索引都沒有什麼影響。truncate刪除表的分割槽。本地索引沒有問題,但是會對全域性索引產生影響
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/222350/viewspace-916731/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- ORACLE刪除-表分割槽和資料Oracle
- 移動分割槽表和分割槽索引的表空間索引
- 記一次Oracle分割槽表全域性索引重建的過程Oracle索引
- Oracle分割槽表基礎運維-09刪除分割槽Oracle運維
- 分割槽表truncate慢處理
- oracle分割槽表和分割槽表exchangeOracle
- 電腦硬碟分割槽要注意什麼,刪除硬碟分割槽的注意事項硬碟
- 事務、全域性索引、透明分散式,再見,分割槽健!索引分散式
- oracle分割槽表和非分割槽表exchangeOracle
- win10 oem分割槽怎麼刪除_win10 oem分割槽可以刪除嗎Win10
- oracle 分割槽表move和包含分割槽表的lob moveOracle
- Oracle分割槽表基礎運維-06分割槽表索引Oracle運維索引
- SQL Server表分割槽刪除詳情DSCCSQLServer
- 增加表分割槽時,為local分割槽索引指定不同表空間的方法索引
- [oracle] expdp 匯出分割槽表的分割槽Oracle
- PostgreSQL/LightDB 分割槽表之分割槽裁剪SQL
- PG的非分割槽表線上轉分割槽表
- win10分割槽好了怎麼刪除_win10分割槽完後如何刪除Win10
- MySql資料分割槽操作之新增分割槽操作MySql
- Linux中什麼是分割槽?Linux分割槽有什麼好處?Linux
- 非分割槽錶轉換成分割槽表
- hive 分割槽表和分桶表區別Hive
- windows10分割槽無法刪除怎麼辦_win10系統磁碟刪除分割槽的方法WindowsWin10
- Oracle分割槽表基礎運維-07增加分割槽(3列表分割槽)Oracle運維
- zabbix上對mysql資料庫做分割槽表MySql資料庫
- 對oracle分割槽表的理解整理Oracle
- Oracle分割槽表基礎運維-07增加分割槽(2 HASH分割槽)Oracle運維
- MySQL資料表分割槽手記MySql
- 【MYSQL】 分割槽表MySql
- win10刪除系統保留分割槽如何操作_win10刪除系統保留分割槽怎麼處理Win10
- 調整分割槽後分割槽不見的資料找到方法
- Linux系統如何進行分割槽?swap分割槽是什麼?Linux
- Oracle分割槽表基礎運維-07增加分割槽(1範圍分割槽)Oracle運維
- HGDB的分割槽表實現SQL Server的分割槽檢視SQLServer
- 【Linux】MBR磁碟分割槽表只能有四個分割槽?Linux
- Oracle分割槽表基礎運維-04列表分割槽Oracle運維
- hive 動態分割槽插入資料表Hive
- SQL Server大分割槽表沒有空分割槽的情況下如何擴充套件分割槽的方法SQLServer套件
- MySQL 分割槽表探索MySql