創(chuàng)新互聯(lián)建站長期為成百上千家客戶提供的網(wǎng)站建設(shè)服務(wù),團隊從業(yè)經(jīng)驗10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為蒙城企業(yè)提供專業(yè)的成都網(wǎng)站設(shè)計、做網(wǎng)站,蒙城網(wǎng)站改版等技術(shù)服務(wù)。擁有10多年豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。
特點一:
更方便的是,INTERVAL分區(qū)并非必須在表創(chuàng)建的時候指定,即使RANGE分區(qū)表已經(jīng)建立,也可以修改為使其變?yōu)镮NTERVAL分區(qū):
小貼士
這使得現(xiàn)有的所有RANGE分區(qū)表都可以利用INTERVAL分區(qū)的優(yōu)點,而且INTERVAL方式分區(qū)也支持復(fù)合分區(qū),INTERVAL-HASH、INTERVAL-LIST和INTERVAL-RANGE三種分區(qū)方式都是支持的。
注意:
由于INTERVAL的分區(qū)是根據(jù)需要自動創(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ū)很簡單,因此這里僅描述相對復(fù)雜一點的DATE類型的INTERVAL分區(qū)。
對于INTERVAL值的限定,有兩種方法。
01
通過NUMTOYMINTERVAL或NUMTODSINTERAL函數(shù):
02
直接利用INTERVAL表達式:
無論使用哪種方法,其實都是INTERVAL的方式,這種方式和ADD_MONTHS函數(shù)不同,不會自動處理月末的問題,因此以月為單位的INTERVAL不能以超過28日的日期作為最后一個范圍分區(qū)的上限:
避免這種錯誤其實很簡單,最簡單的是利用28日作為分區(qū)上限:
或者再建立一個最高分區(qū),避免超過28日的日志作為最后一個分區(qū)的上限出現(xiàn):
注意:
這里的DATE是泛指,包括DATE、TIMESTANP、TIMESTAMP WITH ZONE和TIMESTAMP WITH LOCAL ZONE多個日期相關(guān)的數(shù)據(jù)類型。