您好,登錄后才能下訂單哦!
分區(qū)跟分表類似,目的是將一張表分到不通的存儲中,這樣可以減少單一磁盤IO占用,提高數(shù)據(jù)庫效率
分區(qū)主要有兩種形式
水平分區(qū)
對表的行進(jìn)行分區(qū),
垂直分區(qū)
減少表的寬度,
想使用分區(qū),需要先查看當(dāng)前是否支持
show variables like '%partition%'
出現(xiàn)yes即可使用
實例,按照range方式分區(qū)的表
create table if not exists gao(id int primary key auto_increment , name varchar(30))
default charset=utf8 auto_increment=1
partition by range(id)(
partition p0 values less than(10) data directory '/data/gao1',
partition p1 values less than maxvalue data directory '/data/gao2');
alter table 表名 add partition (partition 名字 values less than (n)) 增加分區(qū)
alter table 表名 reorganize partition p1,p2,p3 into(partition p1 values less than(10) , partition p2 values less than(20)) 合并分區(qū)
------------------------------------------------------------------------------------------------------------
使用list分區(qū)
partition by list(id) 是一個數(shù)字列
(partition p1 values in (1,3,5)
partition p2 values in (2,4,6)); 每個分區(qū)表寫入id值一樣的,如果寫入的數(shù)字分區(qū)表中沒有則會報錯,數(shù)值不能重復(fù)只能有一個.
---------------------------------------------------------------------------------------------------------------
分區(qū)跟分表的區(qū)別,
mysql的分表是真正的分表,一張表分成多個表,每個表都是完整的一張,都擁有三個文件,MYD數(shù)據(jù)文件,MYI索引文件,FRM表結(jié)構(gòu)文件
分區(qū)是將一張表進(jìn)行多個存放,還是一張表,不會變多,
分區(qū)跟分表是可以同時使用的!!!!不沖突
都是為了mysql提高性能
分表麻煩,需要單獨創(chuàng)建分表,分區(qū)則不需要,會自動創(chuàng)建.
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。