您好,登錄后才能下訂單哦!
特點一:
更方便的是,INTERVAL分區并非必須在表創建的時候指定,即使RANGE分區表已經建立,也可以修改為使其變為INTERVAL分區:
小貼士
這使得現有的所有RANGE分區表都可以利用INTERVAL分區的優點,而且INTERVAL方式分區也支持復合分區,INTERVAL-HASH、INTERVAL-LIST和INTERVAL-RANGE三種分區方式都是支持的。
注意:
由于INTERVAL的分區是根據需要自動創建,因此需要使用子分區模板來確定新增分區的子分區如何建立,如果沒有建立子分區模板,則新增的分區只會包含一個子分區。
特點二:
INTERVAL分區的另一個特點就是不允許分區鍵值為空值:
小貼士
這個限制其實也很好理解,由于INTERVAL分區不存在MAXVALUE分區,因此NULL值“大于”所有的分區鍵值。
如果分區鍵值可能為空,那么INTERVAL分區就不適用,不過分區鍵值為空的情況本身就十分罕見。
其實顧名思義INTERVAL分區需要提供一個INTERVAL,而對于字符類型是不存在INTERVAL的,因此只有NUMBER類型和DATE類型支持INTERVAL分區。
其中NUMBER類型的INTERVAL分區很簡單,因此這里僅描述相對復雜一點的DATE類型的INTERVAL分區。
對于INTERVAL值的限定,有兩種方法。
01
通過NUMTOYMINTERVAL或NUMTODSINTERAL函數:
02
直接利用INTERVAL表達式:
無論使用哪種方法,其實都是INTERVAL的方式,這種方式和ADD_MONTHS函數不同,不會自動處理月末的問題,因此以月為單位的INTERVAL不能以超過28日的日期作為最后一個范圍分區的上限:
避免這種錯誤其實很簡單,最簡單的是利用28日作為分區上限:
或者再建立一個最高分區,避免超過28日的日志作為最后一個分區的上限出現:
注意:
這里的DATE是泛指,包括DATE、TIMESTANP、TIMESTAMP WITH ZONE和TIMESTAMP WITH LOCAL ZONE多個日期相關的數據類型。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。