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