乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      MySQL 5.5 分區(qū)之多列分區(qū)詳解

       茫茫V 2014-10-11

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

      多列分區(qū)

      COLUMNS關(guān)鍵字現(xiàn)在允許字符串和日期列作為分區(qū)定義列,同時(shí)還允許使用多個(gè)列定義一個(gè)分區(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)等其它例子。由于我很長時(shí)間都在使用MySQL 5.1的分區(qū),我對多列分區(qū)的含義不太了解,LESS THAN (10,10)是什么意思?如果下一個(gè)分區(qū)是LESS THAN (10,20)會發(fā)生什么?相反,如果是(20,30)又會如何?

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

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

      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),它將會進(jìn)入第一個(gè)分區(qū),相反,在表p1_single中,它將會進(jìn)入第二個(gè)分區(qū),其原因是(10,1)小于(10,10),如果你僅僅關(guān)注第一個(gè)值,你還沒有意識到你在比較一個(gè)元組,而不是一個(gè)單一的值。

      現(xiàn)在我們來分析一下最難懂的地方,當(dāng)你需要確定某一行應(yīng)該放在哪里時(shí)會發(fā)生什么?你是如何確定類似(10,9) < (10,10)這種運(yùn)算的值的?答案其實(shí)很簡單,當(dāng)你對它們進(jìn)行排序時(shí),使用相同的方法計(jì)算兩條記錄的值。

      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))  

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

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

      原文出處:http://lujia35./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常用命令操作技巧
      【責(zé)任編輯:趙鵬 TEL:(010)68476606】

        本站是提供個(gè)人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多