国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

深入淺析MySQL COLUMNS分區

2024-07-24 12:53:24
字體:
來源:轉載
供稿:網友

介紹

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

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 怀安县| 房产| 绥滨县| 灌云县| 西藏| 化德县| 探索| 朝阳市| 遂溪县| 金堂县| 竹山县| 辉县市| 宜宾市| 炉霍县| 开阳县| 海口市| 泰和县| 滨海县| 长岭县| 拉萨市| 儋州市| 安泽县| 麻阳| 武威市| 松阳县| 会宁县| 沁阳市| 贵港市| 大邑县| 新化县| 灌阳县| 柳州市| 兴义市| 分宜县| 普陀区| 综艺| 开原市| 奉贤区| 吉安县| 璧山县| 永宁县|