日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
MySQL5.5分區(qū)之多列分區(qū)詳解

MySQL 5.5數(shù)據(jù)庫的多列分區(qū)是本文我們主要要介紹的內(nèi)容,本文我們通過一個實例來介紹這一部分內(nèi)容,接下來就讓我們一起來看看吧!

創(chuàng)新互聯(lián)是一家專注于網(wǎng)站制作、成都網(wǎng)站設(shè)計與策劃設(shè)計,濰城網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)十多年,網(wǎng)設(shè)計領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:濰城等地區(qū)。濰城做網(wǎng)站價格咨詢:18982081108

多列分區(qū)

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

 
 
 
  1. CREATE TABLE p1 (    
  2.   a INT,    
  3.   b INT,    
  4.   c INT   
  5. )    
  6. PARTITION BY RANGE COLUMNS (a,b)    
  7. (    
  8.   PARTITION p01 VALUES LESS THAN (10,20),    
  9.   PARTITION p02 VALUES LESS THAN (20,30),    
  10.   PARTITION p03 VALUES LESS THAN (30,40),    
  11.   PARTITION p04 VALUES LESS THAN (40,MAXVALUE),    
  12.   PARTITION p05 VALUES LESS THAN (MAXVALUE,MAXVALUE)    
  13. );    
  14.  
  15. CREATE TABLE p2 (    
  16.   a INT,    
  17.   b INT,    
  18.   c INT   
  19. )    
  20. PARTITION BY RANGE COLUMNS (a,b)    
  21. (    
  22.   PARTITION p01 VALUES LESS THAN (10,10),    
  23.   PARTITION p02 VALUES LESS THAN (10,20),    
  24.   PARTITION p03 VALUES LESS THAN (10,30),    
  25.   PARTITION p04 VALUES LESS THAN (10,MAXVALUE),    
  26.   PARTITION p05 VALUES LESS THAN (MAXVALUE,MAXVALUE)    
  27. )  

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

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

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

 
 
 
  1. CREATE TABLE p1_single (    
  2.   a INT,    
  3.   b INT,    
  4.   c INT   
  5. )    
  6. PARTITION BY RANGE COLUMNS (a)    
  7. (    
  8.   PARTITION p01 VALUES LESS THAN (10),    
  9.   PARTITION p02 VALUES LESS THAN (20),    
  10.   PARTITION p03 VALUES LESS THAN (30),    
  11.   PARTITION p04 VALUES LESS THAN (40),    
  12.   PARTITION p05 VALUES LESS THAN (MAXVALUE)    
  13. );  

它和前面的表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)你對它們進行排序時,使用相同的方法計算兩條記錄的值。

 
 
 
  1. a=10    
  2. b=9    
  3. (a,b) < (10,10) ?    
  4. # evaluates to:    
  5. (a < 10)    
  6. OR   
  7. ((a = 10) AND ( b < 10))    
  8. # which translates to:    
  9. (10 < 10)    
  10. OR   
  11. ((1010 = 10) AND ( 9 < 10))  

如果有三列,表達式會更長,但不會更復(fù)雜。你首先在第一個項目上測試小于運算,如果有兩個或更多的分區(qū)與之匹配,接著就測試第二個項目,如果不止一個候選分區(qū),那還需要測試第三個項目。

關(guān)于MySQL 5.5多列分區(qū)的知識就介紹到這里了,希望本次的介紹能夠?qū)δ兴鶐椭?/p>

原文出處:http://lujia35.iteye.com/blog/718899。

【編輯推薦】

  1. 適合初學(xué)者的MySQL學(xué)習(xí)筆記之管理員常用操作總結(jié)
  2. 適合初學(xué)者的MySQL學(xué)習(xí)筆記之SELECT語句使用詳解
  3. MySQL數(shù)據(jù)庫存儲引擎之MyISAM和InnoDB的區(qū)別對比
  4. 適合初學(xué)者的MySQL學(xué)習(xí)筆記之ORDER BY子句使用詳解
  5. 適合初學(xué)者的MySQL學(xué)習(xí)筆記之MySQL常用命令操作技巧

當(dāng)前文章:MySQL5.5分區(qū)之多列分區(qū)詳解
分享網(wǎng)址:http://www.dlmjj.cn/article/dpicijh.html