成人免费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磁盤分區

2014-06-09 10:09:31

Linux磁盤分區

2017-07-05 18:59:32

MySQL交換分區

2010-05-04 17:07:14

Windows 7分區

2010-05-13 10:00:10

SQL Server

2021-12-29 16:13:03

鴻蒙HarmonyOS應用

2021-02-20 08:21:18

Hive動態分區

2010-10-11 10:52:25

MySQL分區

2010-03-05 14:50:56

Ubuntu硬盤分區

2010-11-10 14:47:11

SQL Server創

2009-11-24 09:28:11

linux分區大磁盤分區

2010-02-04 14:57:25

Linux分區方案
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产精品成人免费 | 精品欧美乱码久久久久久 | 日韩在线免费视频 | 日韩综合一区 | 久久国产精品免费一区二区三区 | 五十女人一级毛片 | 一区二区三区四区免费视频 | 日本视频在线播放 | 一二三在线视频 | 日本不卡免费新一二三区 | 亚洲97 | 婷婷福利 | 久久国产精品网站 | 久久高清精品 | 户外露出一区二区三区 | 高清免费av| 国产在线视频一区 | 黄色毛片免费视频 | 国产成人久久 | 国产高清在线精品一区二区三区 | 亚洲欧美成人影院 | 亚洲一区成人 | 久久99精品久久久久久青青日本 | 国产精品高清一区二区 | 久久久久久综合 | 精品动漫一区 | 精品一区二区三区四区 | 高清成人免费视频 | 女女百合av大片一区二区三区九县 | 成人av播放 | 91九色在线观看 | 91国内精品久久 | 国产精品美女久久久久久不卡 | 亚洲国产中文字幕 | 午夜网址 | 欧美日韩久 | 日本网站免费在线观看 | 亚洲97| 人人爽日日躁夜夜躁尤物 | 青草青草久热精品视频在线观看 | 黄网站在线观看 |