這篇文章將為大家詳細講解有關MySQL5.5中怎么實現多列分區(qū),文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。
林芝ssl適用于網站、小程序/APP、API接口等需要進行數據傳輸應用場景,ssl證書未來市場廣闊!成為創(chuàng)新互聯建站的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯系或者加微信:18980820575(備注:SSL證書合作)期待與您的合作!
MySQL5.5多列分區(qū)是什么
COLUMNS關鍵字現在允許字符串和日期列作為分區(qū)定義列,同時還允許使用多個列定義一個分區(qū),你可能在官方文檔中已經看到了一些例子,如:
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ū)是什么
開始時可能有些混亂,當所有分區(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),如果你僅僅關注第一個值,你還沒有意識到你在比較一個元組,而不是一個單一的值。
現在我們來分析一下最難懂的地方,當你需要確定某一行應該放在哪里時會發(fā)生什么?你是如何確定類似(10,9)<(10,10)這種運算的值的?答案其實很簡單,當你對它們進行排序時,使用相同的方法計算兩條記錄的值。 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)) 如果有三列,表達式會更長,但不會更復雜。你首先在第一個項目上測試小于運算,如果有兩個或更多的分區(qū)與之匹配,接著就測試第二個項目,如果不止一個候選分區(qū),那還需要測試第三個項目。
關于MySQL5.5中怎么實現多列分區(qū)就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
當前名稱:MySQL5.5中怎么實現多列分區(qū)
網站鏈接:http://www.yijiale78.com/article20/gihdjo.html
成都網站建設公司_創(chuàng)新互聯,為您提供網站制作、做網站、響應式網站、移動網站建設、小程序開發(fā)、網站設計公司
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯