亚洲综合原千岁中文字幕_国产精品99久久久久久久vr_无码人妻aⅴ一区二区三区浪潮_成人h动漫精品一区二区三

主頁 > 知識庫 > 深入淺析MySQL COLUMNS分區

深入淺析MySQL COLUMNS分區

熱門標簽:地圖標注百度競價 地圖標注什么軟件好用 如何辦理400客服電話 地圖標注專員入駐 外呼系統怎樣才能不封號 神行者百貨商場地圖標注 西藏地圖標注改進點 外呼系統線路經常出問題嗎 安陽手機自動外呼系統原理是什么

介紹

COLUMN分區是5.5開始引入的分區功能,只有RANGE COLUMN和LIST COLUMN這兩種分區;支持整形、日期、字符串;RANGE和LIST的分區方式非常的相似。

COLUMNS和RANGE和LIST分區的區別

1.針對日期字段的分區就不需要再使用函數進行轉換了,例如針對date字段進行分區不需要再使用YEAR()表達式進行轉換。

2.COLUMN分區支持多個字段作為分區鍵但是不支持表達式作為分區鍵。

COLUMNS支持的類型

整形支持:tinyint,smallint,mediumint,int,bigint;不支持decimal和float

時間類型支持:date,datetime

字符類型支持:char,varchar,binary,varbinary;不支持text,blob

一、RANGE COLUMNS分區

1.日期字段分區

CREATE TABLE members (
id INT,
joined DATE NOT NULL
)
PARTITION BY RANGE COLUMNS(joined) (
PARTITION a VALUES LESS THAN ('1960-01-01'),
PARTITION b VALUES LESS THAN ('1970-01-01'),
PARTITION c VALUES LESS THAN ('1980-01-01'),
PARTITION d VALUES LESS THAN ('1990-01-01'),
PARTITION e VALUES LESS THAN MAXVALUE
);

1.插入測試數據

insert into members(id,joined) values(1,'1950-01-01'),(1,'1960-01-01'),(1,'1980-01-01'),(1,'1990-01-01');

2.查詢分區數據分布

SELECT PARTITION_NAME,PARTITION_METHOD,PARTITION_EXPRESSION,PARTITION_DESCRIPTION,TABLE_ROWS,SUBPARTITION_NAME,SUBPARTITION_METHOD,SUBPARTITION_EXPRESSION 
FROM information_schema.PARTITIONS WHERE TABLE_SCHEMA=SCHEMA() AND TABLE_NAME='members';

當前有5個分區只插入了4條記錄,其中C分區是沒有記錄的,結果和實際一樣。

3.分析執行計劃

explain select id,joined from tb_partition.members where joined=YEAR(now());
explain select id,joined from tb_partition.members where joined='1963-01-01';

第一條查詢使用了函數導致查詢沒有走具體的分區而是掃描的所有的分區,而第二條查詢執行語句查找具體的分區。

2.多個字段組合分區

CREATE TABLE rcx (
a INT,
b INT
)
PARTITION BY RANGE COLUMNS(a,b) (
PARTITION p0 VALUES LESS THAN (5,10),
PARTITION p1 VALUES LESS THAN (10,20),
PARTITION p2 VALUES LESS THAN (15,30),
PARTITION p3 VALUES LESS THAN (MAXVALUE,MAXVALUE)
);

注意:多字段的分區鍵比較是基于數組的比較。它先用插入的數據的第一個字段值和分區的第一個值進行比較,如果插入的第一個值小于分區的第一個值那么就不需要比較第二個值就屬于該分區;如果第一個值等于分區的第一個值,開始比較第二個值同樣如果第二個值小于分區的第二個值那么就屬于該分區。

例如:

insert into rcx(a,b)values(1,20),(10,15),(10,30);

第一組值:(1,20);15所以不需要再比較20了,該記錄屬于p0分區。

第二組值:(10,15),10>5,10=10且1520,所以該記錄屬于P1分區

第三組值:(10,30),10=10但是30>20,所以它不屬于p1,它滿足1015所以它屬于p2

SELECT PARTITION_NAME,PARTITION_METHOD,PARTITION_EXPRESSION,PARTITION_DESCRIPTION,TABLE_ROWS,SUBPARTITION_NAME,SUBPARTITION_METHOD,SUBPARTITION_EXPRESSION 
FROM information_schema.PARTITIONS WHERE TABLE_SCHEMA=SCHEMA() AND TABLE_NAME='rcx';

注意:RANGE COLUMN的多列分區第一列的分區值一定是順序增長的,不能出現交叉值,第二列的值隨便,例如以下分區就會報錯

PARTITION BY RANGE COLUMNS(a,b) (
PARTITION p0 VALUES LESS THAN (5,10),
PARTITION p1 VALUES LESS THAN (10,20),
PARTITION p2 VALUES LESS THAN (8,30),
PARTITION p3 VALUES LESS THAN (MAXVALUE,MAXVALUE)
);

由于分區P2的第一列比P1的第一列要小,所以報錯,后面的分區第一列的值一定要比前面分區值要大,第二列沒規定。

二、LIST COLUMNS分區

1.非整形字段分區

CREATE TABLE listvar (
id INT NOT NULL,
hired DATETIME NOT NULL
)
PARTITION BY LIST COLUMNS(hired) 
(
PARTITION a VALUES IN ('1990-01-01 10:00:00','1991-01-01 10:00:00'),
PARTITION b VALUES IN ('1992-01-01 10:00:00'),
PARTITION c VALUES IN ('1993-01-01 10:00:00'),
PARTITION d VALUES IN ('1994-01-01 10:00:00')
);
ALTER TABLE listvar ADD INDEX ix_hired(hired);
INSERT INTO listvar() VALUES(1,'1990-01-01 10:00:00'),(1,'1991-01-01 10:00:00'),(1,'1992-01-01 10:00:00'),(1,'1993-01-01 10:00:00');

LIST COLUMNS分區對分整形字段進行分區就無需使用函數對字段處理成整形,所以對非整形字段進行分區建議選擇COLUMNS分區。

EXPLAIN SELECT * FROM listvar WHERE hired='1990-01-01 10:00:00';

2.多字段分區

CREATE TABLE listvardou (
id INT NOT NULL,
hired DATETIME NOT NULL
)
PARTITION BY LIST COLUMNS(id,hired) 
(
PARTITION a VALUES IN ( (1,'1990-01-01 10:00:00'),(1,'1991-01-01 10:00:00') ),
PARTITION b VALUES IN ( (2,'1992-01-01 10:00:00') ),
PARTITION c VALUES IN ( (3,'1993-01-01 10:00:00') ),
PARTITION d VALUES IN ( (4,'1994-01-01 10:00:00') )
);
ALTER TABLE listvardou ADD INDEX ix_hired(hired);
INSERT INTO listvardou() VALUES(1,'1990-01-01 10:00:00'),(1,'1991-01-01 10:00:00'),(2,'1992-01-01 10:00:00'),(3,'1993-01-01 10:00:00');
SELECT PARTITION_NAME,PARTITION_METHOD,PARTITION_EXPRESSION,PARTITION_DESCRIPTION,TABLE_ROWS,SUBPARTITION_NAME,SUBPARTITION_METHOD,SUBPARTITION_EXPRESSION 
FROM information_schema.PARTITIONS WHERE TABLE_SCHEMA=SCHEMA() AND TABLE_NAME='listvardou';

EXPLAIN SELECT * FROM listvardou WHERE id=1 and hired='1990-01-01 10:00:00';

由于分區是組合字段,filtered只有50%,對于組合分區索引也最好是建組合索引,其實如果能通過id字段刷選出數據,單獨建id字段的索引也是有效果的,但是組合索引的效果是最好的,其實和非分區鍵索引的概念差不多。

ALTER TABLE listvardou ADD INDEX ix_hired1(id,hired);

備注:文章中的示例摘自mysql官方參考手冊

三、移除表的分區

ALTER TABLE tablename
REMOVE PARTITIONING ;

注意:使用remove移除分區是僅僅移除分區的定義,并不會刪除數據和drop PARTITION不一樣,后者會連同數據一起刪除

總結

RANGE COLUMNS和LIST COLUMNS分區其實是RANG和LIST分區的升級,所以可以直接使用COLUMN分區。注意COLUMNS分區不支持timestamp字段類型。

以上所述是小編給大家介紹的MySQL COLUMNS分區,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!

您可能感興趣的文章:
  • 在ASP.NET 2.0中操作數據之六十九:處理Computed Columns列
  • DevExpress GridControl實現根據RowIndex和VisibleColumnsIndex來獲取單元格值
  • 如何讓easyui gridview 寬度自適應窗口改變及fitColumns應用
  • ERROR 1222 (21000): The used SELECT statements have a different number of columns

標簽:雞西 萍鄉 張掖 酒泉 阜陽 AXB 貴港 衡水

巨人網絡通訊聲明:本文標題《深入淺析MySQL COLUMNS分區》,本文關鍵詞  深入,淺析,MySQL,COLUMNS,分區,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《深入淺析MySQL COLUMNS分區》相關的同類信息!
  • 本頁收集關于深入淺析MySQL COLUMNS分區的相關信息資訊供網民參考!
  • 推薦文章
    国产不卡在线观看| 91麻豆精品国产自产在线 | 欧美爱爱动态| 精品国产一区二区三区久久久蜜臀 | 国产激情一区二区三区| 日本乱中文字幕系列| 四虎久久精品国产| 美女免费毛片| 色综合久久天天综线观看| 日韩欧美一二三区| 精品视频在线观看视频免费视频| 成人免费福利片在线观看| 亚洲 欧美 成人日韩| 精品国产三级a| 你懂的福利视频| a级毛片免费观看网站| 高清一级淫片a级中文字幕 | 国产麻豆精品hdvideoss| a级精品九九九大片免费看| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 国产伦精品一区三区视频| 成人免费高清视频| 国产精品自拍一区| 精品视频在线观看视频免费视频 | 国产不卡在线观看| 亚久久伊人精品青青草原2020| 国产麻豆精品免费密入口| 91麻豆精品国产自产在线观看一区 | 91麻豆国产| 久久国产精品只做精品| 欧美激情一区二区三区在线| 精品视频在线观看视频免费视频| 日韩一级黄色大片| 国产成a人片在线观看视频| 成人免费福利片在线观看| 久草免费在线视频| 精品国产香蕉在线播出| 国产麻豆精品免费视频| 欧美另类videosbestsex高清| 精品视频免费观看| 欧美18性精品| 久久久成人网| 高清一级淫片a级中文字幕 | 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 亚洲天堂一区二区三区四区| 国产一区二区精品久久91| 在线观看导航| 久久久成人网| 一级毛片视频免费| 日韩一级精品视频在线观看| 国产91视频网| 91麻豆爱豆果冻天美星空| 国产成人女人在线视频观看| 你懂的福利视频| 久草免费在线观看| 久久国产影院| 精品视频在线观看视频免费视频 | 黄视频网站在线看| 美女免费精品视频在线观看| 97视频免费在线| 欧美激情一区二区三区在线播放| 你懂的日韩| 久久国产精品只做精品| 日日日夜夜操| 成人免费观看视频| 香蕉视频亚洲一级| 久久国产精品自线拍免费| 99色吧| 欧美另类videosbestsex| 免费一级片网站| 人人干人人插| 免费一级片网站| 国产91精品一区| 国产精品自拍一区| 成人影视在线播放| 亚洲精品永久一区| 国产亚洲免费观看| 四虎影视精品永久免费网站| 久久国产精品只做精品| 国产a视频| 欧美激情影院| 黄视频网站在线看| 四虎久久精品国产| 国产一区精品| 亚洲精品影院久久久久久| 成人a大片在线观看| 二级特黄绝大片免费视频大片| 国产激情视频在线观看| 国产极品精频在线观看| 四虎久久精品国产| 国产一区二区福利久久| 欧美大片aaaa一级毛片| 久久精品成人一区二区三区| 精品国产一区二区三区免费| 亚洲第一页乱| 色综合久久久久综合体桃花网| 成人免费一级毛片在线播放视频| 欧美国产日韩在线| 日韩av成人| 午夜在线亚洲| 精品视频免费看| 91麻豆精品国产片在线观看| 欧美另类videosbestsex视频 | 四虎影视久久久免费| 成人免费网站久久久| 日韩中文字幕在线播放| 午夜激情视频在线播放| 99色视频在线观看| 高清一级毛片一本到免费观看| 日本伦理网站| 日韩中文字幕一区二区不卡| 欧美a级片视频| 精品国产香蕉在线播出| 亚欧视频在线| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 天天做人人爱夜夜爽2020| 欧美爱色| 青草国产在线| 999久久久免费精品国产牛牛| 欧美一级视频免费| 韩国毛片免费| 四虎久久影院| 国产视频在线免费观看| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 可以免费看毛片的网站| 中文字幕97| 国产一级生活片| 国产网站免费观看| 国产麻豆精品免费视频| 日韩免费片| 久久精品大片| 国产91精品一区| 一级毛片视频在线观看| 日韩综合| 色综合久久天天综合绕观看| 九九久久国产精品| 日韩在线观看免费| 成人免费观看的视频黄页| 国产成人啪精品视频免费软件| 九九干| 91麻豆国产| 国产成人精品影视| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 精品毛片视频| 国产一区免费观看| 久草免费在线观看| 日本伦理片网站| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 国产伦精品一区二区三区在线观看| 国产不卡福利| 成人免费福利片在线观看| 国产视频在线免费观看| 成人免费观看视频| 日本特黄特色aaa大片免费| 免费国产一级特黄aa大片在线| 欧美一级视频免费| 亚洲天堂在线播放| 成人a级高清视频在线观看| 国产一区二区精品久久91| 欧美另类videosbestsex高清| 久久精品店| 欧美激情伊人| 日本伦理网站| 精品在线免费播放| 沈樵在线观看福利| 成人a大片高清在线观看| 你懂的在线观看视频| 亚洲第一视频在线播放| 青青久久精品国产免费看| 日韩欧美一及在线播放| 国产91素人搭讪系列天堂| 久久国产一久久高清| 国产伦久视频免费观看视频| 日本伦理网站| 欧美18性精品| 国产91素人搭讪系列天堂| 91麻豆国产福利精品| 九九九在线视频| 欧美国产日韩在线| 91麻豆国产| 国产视频在线免费观看| 日韩免费在线| 精品视频在线观看视频免费视频| 亚洲 国产精品 日韩| 精品久久久久久影院免费| 亚洲精品影院久久久久久| 超级乱淫黄漫画免费| a级毛片免费全部播放| 天天做日日干| 国产一区二区精品久| 久久精品店| 精品在线观看一区| 成人高清免费| 免费国产一级特黄aa大片在线| 成人a大片高清在线观看| 99热热久久| 青青久久精品国产免费看| 国产麻豆精品高清在线播放| 台湾美女古装一级毛片| a级黄色毛片免费播放视频|