ALTER TABLE DROP PARTITION用於刪除table中某個PARTITION和其中的資料,主要是用於歷史資料的刪除。如果還想保留資料,就需要合併到另一個partition中。刪除該partition之後,如果再insert該partition範圍內的值,要存放在更高的partition中。如果你刪除了最大的partition,就會出錯。刪除table partition的同時,刪除相應的local index。即使該index是IU狀態。如果table上有global index,且該partition不空,drop partition會使所有的global index 為IU狀態。如果不想REBUIL INDEX,可以用SQL語句手工刪除資料,然後再DROP PARTITION.例子:ALTR ATBEL sales DROP PARTITION dec96; 到底是DROP PARTITION或者是DELETE?如果GLOBAL INDEX是最重要的,就應該先DELETE 資料再DROP PARTITION。在下面情況下,手工刪除資料的代價比DROP PARTITION要小- 如果要刪除的資料只佔整個TABLE的小部分- 在TABLE中有很多的GLOBAL INDEX。在下面情況下,手工刪除資料的代價比DROP PARTITION要大- 如果要刪除的資料佔整個TABLE的絕大部分- 在TABLE中沒有很多的GLOBAL INDEX。如果在TABLE是父TABLE,有被引用的約束,且PARTITION不空,DROP PARTITION時出錯。如果要刪除有資料的PARTITION,應該先刪除引用約束。或者先DELETE,然後再DROP PARTITION。如果TABLE只有一個PARTITON,不能DROP PARTITION,只能DROP TABLE。
ALTER TABLE DROP PARTITION用於刪除table中某個PARTITION和其中的資料,主要是用於歷史資料的刪除。如果還想保留資料,就需要合併到另一個partition中。刪除該partition之後,如果再insert該partition範圍內的值,要存放在更高的partition中。如果你刪除了最大的partition,就會出錯。刪除table partition的同時,刪除相應的local index。即使該index是IU狀態。如果table上有global index,且該partition不空,drop partition會使所有的global index 為IU狀態。如果不想REBUIL INDEX,可以用SQL語句手工刪除資料,然後再DROP PARTITION.例子:ALTR ATBEL sales DROP PARTITION dec96; 到底是DROP PARTITION或者是DELETE?如果GLOBAL INDEX是最重要的,就應該先DELETE 資料再DROP PARTITION。在下面情況下,手工刪除資料的代價比DROP PARTITION要小- 如果要刪除的資料只佔整個TABLE的小部分- 在TABLE中有很多的GLOBAL INDEX。在下面情況下,手工刪除資料的代價比DROP PARTITION要大- 如果要刪除的資料佔整個TABLE的絕大部分- 在TABLE中沒有很多的GLOBAL INDEX。如果在TABLE是父TABLE,有被引用的約束,且PARTITION不空,DROP PARTITION時出錯。如果要刪除有資料的PARTITION,應該先刪除引用約束。或者先DELETE,然後再DROP PARTITION。如果TABLE只有一個PARTITON,不能DROP PARTITION,只能DROP TABLE。