MySQL分區(qū)之KEY分區(qū)詳解
介紹
KEY分區(qū)和HASH分區(qū)相似,但是KEY分區(qū)支持除text和BLOB之外的所有數(shù)據(jù)類型的分區(qū),而HASH分區(qū)只支持?jǐn)?shù)字分區(qū),KEY分區(qū)不允許使用用戶自定義的表達(dá)式進(jìn)行分區(qū),KEY分區(qū)使用系統(tǒng)提供的HASH函數(shù)進(jìn)行分區(qū)。當(dāng)表中存在主鍵或者唯一鍵時(shí),如果創(chuàng)建key分區(qū)時(shí)沒(méi)有指定字段系統(tǒng)默認(rèn)會(huì)首選主鍵列作為分區(qū)字列,如果不存在主鍵列會(huì)選擇非空唯一鍵列作為分區(qū)列,注意唯一列作為分區(qū)列唯一列不能為null。
一、常規(guī)KEY
1.創(chuàng)建分區(qū)
CREATE TABLE tb_key (
id INT ,
var CHAR(32)
)
PARTITION BY KEY(var)
PARTITIONS 10;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='tb_key';
INSERT INTO tb_key() VALUES(1,'星期一'),(2,'1998-10-19'),(3,'new'),(4,'非常好'),(5,'5');

二、LINEAR KEY
同樣key分區(qū)也存在線性KEY分區(qū),概念和線性HASH分區(qū)一樣。
1.創(chuàng)建分區(qū)
CREATE TABLE tb_keyline (
id INT NOT NULL,
var CHAR(5)
)
PARTITION BY LINEAR KEY (var)
PARTITIONS 3;
三、分區(qū)管理
key分區(qū)管理和hash分區(qū)管理是一樣的,只能刪除和增加分區(qū),這里不再做詳細(xì)介紹。
1.刪除2個(gè)分區(qū)
ALTER TABLE tb_key COALESCE PARTITION 2;
2.增加三個(gè)分區(qū)
ALTER TABLE tb_key add PARTITION partitions 3;
四、移除表的分區(qū)
ALTER TABLE tablename REMOVE PARTITIONING ;
注意:使用remove移除分區(qū)是僅僅移除分區(qū)的定義,并不會(huì)刪除數(shù)據(jù)和drop PARTITION不一樣,后者會(huì)連同數(shù)據(jù)一起刪除
分區(qū)系列文章:
RANGE分區(qū):http://www.dhdzp.com/article/244269.htm
COLUMN分區(qū):http://www.dhdzp.com/article/96515.htm
LIST分區(qū):http://www.dhdzp.com/article/244256.htm
HASH分區(qū):http://www.dhdzp.com/article/244277.htm
KEY分區(qū):http://www.dhdzp.com/article/244282.htm
子分區(qū):http://www.dhdzp.com/article/244294.htm
指定各分區(qū)路徑:http://www.dhdzp.com/article/244296.htm
分區(qū)索引以及分區(qū)介紹總結(jié):http://www.dhdzp.com/article/244300.htm
總結(jié)
KEY分區(qū)和HASH分區(qū)類似,在處理大量數(shù)據(jù)記錄時(shí)能有效的分散數(shù)據(jù)熱點(diǎn)。
到此這篇關(guān)于MySQL分區(qū)之KEY分區(qū)的文章就介紹到這了,更多相關(guān)MySQL KEY分區(qū) 內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
自學(xué)MySql內(nèi)置函數(shù)知識(shí)點(diǎn)總結(jié)
在本篇文章里小編給大家整理的是關(guān)于MySql內(nèi)置函數(shù)的知識(shí)點(diǎn)總結(jié)內(nèi)容,需要的朋友們可以學(xué)習(xí)參考下。2020-01-01
MYSQL5.6.33數(shù)據(jù)庫(kù)主從(Master/Slave)同步安裝與配置詳解(Master-Linux Slave-w
這篇文章主要為大家詳細(xì)介紹了MYSQL5.6.33數(shù)據(jù)庫(kù)主從(Master/Slave)同步安裝與配置,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-06-06
使用dreamhost空間實(shí)現(xiàn)MYSQL數(shù)據(jù)庫(kù)備份方法
使用dreamhost空間實(shí)現(xiàn)MYSQL數(shù)據(jù)庫(kù)備份方法...2007-07-07
MySQL的集群配置的基本命令使用及一次操作過(guò)程實(shí)錄
這篇文章主要介紹了MySQL的集群配置過(guò)程中的基本命令使用,實(shí)錄中給出了兩個(gè)節(jié)點(diǎn)連接的例子,更多的話同理:)需要的朋友可以參考下2015-11-11
MySQL8.0.26的安裝與簡(jiǎn)化教程(全網(wǎng)最全)
MySQL關(guān)是一種關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng),所使用的 SQL 語(yǔ)言是用于訪問(wèn)數(shù)據(jù)庫(kù)的最常用的標(biāo)準(zhǔn)化語(yǔ)言,今天通過(guò)本文給大家分享MySQL8.0.26的安裝與簡(jiǎn)化教程使全網(wǎng)最詳細(xì)的安裝教程,需要的朋友參考下吧2021-07-07
mysql出現(xiàn)ERROR?2003?(HY000):?Can‘t?connect?to?MySQL?ser
本文主要介紹了mysql出現(xiàn)ERROR?2003?(HY000):?Can‘t?connect?to?MySQL?server?on?‘localhost‘?(10061)的解決方法,具有一定的參考價(jià)值,感興趣的可以了解一下2025-03-03
MySQL部署時(shí)提示Table mysql.plugin doesn’t exist的解決方法
這篇文章主要介紹了MySQL部署時(shí)Table mysql.plugin doesn't exist的解決方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-06-06

