MySQL5.5中怎么實現(xiàn)多列分區(qū)

這篇文章將為大家詳細(xì)講解有關(guān)MySQL5.5中怎么實現(xiàn)多列分區(qū),文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關(guān)知識有一定的了解。

林芝ssl適用于網(wǎng)站、小程序/APP、API接口等需要進行數(shù)據(jù)傳輸應(yīng)用場景,ssl證書未來市場廣闊!成為創(chuàng)新互聯(lián)建站的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18980820575(備注:SSL證書合作)期待與您的合作!

MySQL5.5多列分區(qū)是什么

COLUMNS關(guān)鍵字現(xiàn)在允許字符串和日期列作為分區(qū)定義列,同時還允許使用多個列定義一個分區(qū),你可能在官方文檔中已經(jīng)看到了一些例子,如:

CREATETABLEp1(aINT,bINT,cINT)PARTITIONBYRANGECOLUMNS(a,b)(PARTITIONp01VALUESLESSTHAN(10,20),PARTITIONp02VALUESLESSTHAN(20,30),PARTITIONp03VALUESLESSTHAN(30,40),PARTITIONp04VALUESLESSTHAN(40,MAXVALUE),PARTITIONp05VALUESLESSTHAN(MAXVALUE,MAXVALUE));CREATETABLEp2(aINT,bINT,cINT)PARTITIONBYRANGECOLUMNS(a,b)(PARTITIONp01VALUESLESSTHAN(10,10),PARTITIONp02VALUESLESSTHAN(10,20),PARTITIONp03VALUESLESSTHAN(10,30),PARTITIONp04VALUESLESSTHAN(10,MAXVALUE),PARTITIONp05VALUESLESSTHAN(MAXVALUE,MAXVALUE))

同樣還有PARTITIONBYRANGECOLUMNS(a,b,c)等其它例子。由于我很長時間都在使用MySQL5.1的分區(qū),我對多列分區(qū)的含義不太了解,LESSTHAN(10,10)是什么意思?如果下一個分區(qū)是LESSTHAN(10,20)會發(fā)生什么?相反,如果是(20,30)又會如何?

所有這些問題都需要一個答案,在回答之前,他們需要更好地理解我們在做什么。

MySQL5.5多列分區(qū)是什么

開始時可能有些混亂,當(dāng)所有分區(qū)有一個不同范圍的值時,實際上,它只是在表的一個列上進行了分區(qū),但事實并非如此,在下面的例子中

CREATETABLEp1_single(aINT,bINT,cINT)PARTITIONBYRANGECOLUMNS(a)(PARTITIONp01VALUESLESSTHAN(10),PARTITIONp02VALUESLESSTHAN(20),PARTITIONp03VALUESLESSTHAN(30),PARTITIONp04VALUESLESSTHAN(40),PARTITIONp05VALUESLESSTHAN(MAXVALUE));

它和前面的表p1不一樣,如果你在表p1中插入(10,1,1),它將會進入第一個分區(qū),相反,在表p1_single中,它將會進入第二個分區(qū),其原因是(10,1)小于(10,10),如果你僅僅關(guān)注第一個值,你還沒有意識到你在比較一個元組,而不是一個單一的值。

現(xiàn)在我們來分析一下最難懂的地方,當(dāng)你需要確定某一行應(yīng)該放在哪里時會發(fā)生什么?你是如何確定類似(10,9)<(10,10)這種運算的值的?答案其實很簡單,當(dāng)你對它們進行排序時,使用相同的方法計算兩條記錄的值。   a=10b=9(a,b)<(10,10)#evaluatesto:(a<10)OR((a=10)AND(b<10))#whichtranslatesto:(10<10)OR((1010=10)AND(9<10))   如果有三列,表達(dá)式會更長,但不會更復(fù)雜。你首先在第一個項目上測試小于運算,如果有兩個或更多的分區(qū)與之匹配,接著就測試第二個項目,如果不止一個候選分區(qū),那還需要測試第三個項目。  

關(guān)于MySQL5.5中怎么實現(xiàn)多列分區(qū)就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

當(dāng)前名稱:MySQL5.5中怎么實現(xiàn)多列分區(qū)
網(wǎng)站鏈接:http://bm7419.com/article20/gihdjo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站制作、做網(wǎng)站、響應(yīng)式網(wǎng)站、移動網(wǎng)站建設(shè)小程序開發(fā)、網(wǎng)站設(shè)計公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站建設(shè)