溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

【恩墨學院】 INTERVAL分區(qū)升級了,你知道嗎?!

發(fā)布時間:2020-08-07 05:04:02 來源:ITPUB博客 閱讀:109 作者:恩墨學院 欄目:關系型數據庫

【恩墨學院】 INTERVAL分區(qū)升級了,你知道嗎?!
新增的INTERVAL分區(qū)的特點:

 

特點一:

 

更方便的是,INTERVAL分區(qū)并非必須在表創(chuàng)建的時候指定,即使RANGE分區(qū)表已經建立,也可以修改為使其變?yōu)?span>INTERVAL分區(qū):

【恩墨學院】 INTERVAL分區(qū)升級了,你知道嗎?!


【恩墨學院】 INTERVAL分區(qū)升級了,你知道嗎?!

【恩墨學院】 INTERVAL分區(qū)升級了,你知道嗎?!

【恩墨學院】 INTERVAL分區(qū)升級了,你知道嗎?!

【恩墨學院】 INTERVAL分區(qū)升級了,你知道嗎?!

小貼士

 

這使得現有的所有RANGE分區(qū)表都可以利用INTERVAL分區(qū)的優(yōu)點,而且INTERVAL方式分區(qū)也支持復合分區(qū),INTERVAL-HASHINTERVAL-LISTINTERVAL-RANGE三種分區(qū)方式都是支持的。

 

注意:

由于INTERVAL的分區(qū)是根據需要自動創(chuàng)建,因此需要使用子分區(qū)模板來確定新增分區(qū)的子分區(qū)如何建立,如果沒有建立子分區(qū)模板,則新增的分區(qū)只會包含一個子分區(qū)。

 

特點二:

INTERVAL分區(qū)的另一個特點就是不允許分區(qū)鍵值為空值:

 【恩墨學院】 INTERVAL分區(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

 

通過NUMTOYMINTERVALNUMTODSINTERAL函數:

【恩墨學院】 INTERVAL分區(qū)升級了,你知道嗎?!

 

02

 

直接利用INTERVAL表達式:

【恩墨學院】 INTERVAL分區(qū)升級了,你知道嗎?!

 

無論使用哪種方法,其實都是INTERVAL的方式,這種方式和ADD_MONTHS函數不同,不會自動處理月末的問題,因此以月為單位的INTERVAL不能以超過28日的日期作為最后一個范圍分區(qū)的上限:

【恩墨學院】 INTERVAL分區(qū)升級了,你知道嗎?!

 

避免這種錯誤其實很簡單,最簡單的是利用28日作為分區(qū)上限:

【恩墨學院】 INTERVAL分區(qū)升級了,你知道嗎?!

 

或者再建立一個最高分區(qū),避免超過28日的日志作為最后一個分區(qū)的上限出現:

【恩墨學院】 INTERVAL分區(qū)升級了,你知道嗎?!

 

注意:

這里的DATE是泛指,包括DATE、TIMESTANPTIMESTAMP WITH ZONETIMESTAMP WITH LOCAL ZONE多個日期相關的數據類型。

【恩墨學院】 INTERVAL分區(qū)升級了,你知道嗎?!


向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI