成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

MySQL 5.5 分區之多列分區詳解

數據庫 MySQL
本文我們主要介紹了MySQL 5.5分區之多列分區的知識,并給出了多列分區的實例,希望本次的介紹能夠對您有所幫助。

MySQL 5.5數據庫的多列分區是本文我們主要要介紹的內容,本文我們通過一個實例來介紹這一部分內容,接下來就讓我們一起來看看吧!

多列分區

COLUMNS關鍵字現在允許字符串和日期列作為分區定義列,同時還允許使用多個列定義一個分區,你可能在官方文檔中已經看到了一些例子,如: 

  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的分區,我對多列分區的含義不太了解,LESS THAN (10,10)是什么意思?如果下一個分區是LESS THAN (10,20)會發生什么?相反,如果是(20,30)又會如何?

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

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

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

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

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

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

關于MySQL 5.5多列分區的知識就介紹到這里了,希望本次的介紹能夠對您有所幫助。

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

【編輯推薦】

  1. 適合初學者的MySQL學習筆記之管理員常用操作總結
  2. 適合初學者的MySQL學習筆記之SELECT語句使用詳解
  3. MySQL數據庫存儲引擎之MyISAM和InnoDB的區別對比
  4. 適合初學者的MySQL學習筆記之ORDER BY子句使用詳解
  5. 適合初學者的MySQL學習筆記之MySQL常用命令操作技巧
責任編輯:趙鵬 來源: 博客園
相關推薦

2011-08-17 11:13:57

MySQL 5.5truncate分區

2011-08-17 11:00:51

MySQL 5.5非整數列分區

2011-08-17 12:48:09

MySQL 5.5分區

2023-10-11 13:42:21

2010-02-22 10:08:33

MySQL 5.5分區

2010-10-11 10:44:22

MySQL分區

2011-08-16 16:45:18

2017-05-22 20:29:29

Windows 10Windows分區方法

2011-01-18 09:51:59

Linux磁盤分區

2010-10-11 10:52:25

MySQL分區

2010-05-13 10:00:10

SQL Server

2021-02-20 08:21:18

Hive動態分區

2021-12-29 16:13:03

鴻蒙HarmonyOS應用

2010-05-04 17:07:14

Windows 7分區

2010-02-04 14:57:25

Linux分區方案

2009-11-24 09:28:11

linux分區大磁盤分區

2014-06-09 10:09:31

Linux磁盤分區

2017-07-05 18:59:32

MySQL交換分區

2011-09-19 14:57:16

2010-03-05 14:50:56

Ubuntu硬盤分區
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美色欧美亚洲另类七区 | 宅女噜噜66国产精品观看免费 | 五月免费视频 | 91视频在线 | 91一区二区三区 | 成年人黄色一级片 | 成人福利在线观看 | 中文字幕日韩一区 | 国产精品久久久久无码av | 亚洲精选久久 | 国产精品网址 | 日本成人中文字幕 | 久久一区二 | 久久精品亚洲一区二区三区浴池 | 成人深夜福利 | 国产欧美精品一区二区色综合 | 精品一区二区在线观看 | 一区二区国产在线观看 | 久久中文免费视频 | 久久久久久久久久影视 | 亚洲男人天堂av | 天天爽夜夜操 | 成人在线网 | 久久久久久久久久久91 | 91伊人| 五月婷婷激情网 | 精品影院 | 国产精品久久久久久久久免费高清 | 日韩精品视频在线观看一区二区三区 | 久久99视频这里只有精品 | 91精品国产91久久久久游泳池 | 欧美久久不卡 | 91视频一区二区三区 | 一区二区久久精品 | 亚洲xxxxx | 涩在线 | 欧美一级片a | 在线黄色网 | 国产精品电影网 | 精精国产xxxx视频在线播放7 | 久久久久久免费毛片精品 |