Mysql分區(qū)分析

關(guān)于什么是分區(qū)和分表启上,可以先參考下面前兩篇文章氢架。

MySQL 分庫(kù)分表與分區(qū)的區(qū)別和思考
搞懂MySQL分區(qū)
MySQL分區(qū)表的真正作用
分區(qū)原理和優(yōu)缺點(diǎn)

分區(qū)是同一表中不同行的記錄分配到不同的物理文件中



我們具體是否要使用分區(qū)鹏溯,需要考慮幾點(diǎn)

  1. 什么場(chǎng)景使用分區(qū)
  • 分區(qū)是基于mysql底層的實(shí)現(xiàn)旺罢,不影響業(yè)務(wù)系冗。分表可以支持?jǐn)?shù)據(jù)量大的表進(jìn)行分拆奕扣,但是需要我們?cè)跇I(yè)務(wù)端進(jìn)行支持
  • 我們現(xiàn)在有個(gè)表,目前的數(shù)據(jù)量在2億+掌敬,隨著業(yè)務(wù)的發(fā)展惯豆,每天新增的數(shù)據(jù)至少在500W+
  • 首先單機(jī)的性能和容量足夠,完全基于內(nèi)網(wǎng)的訪問(wèn)奔害,沒(méi)有太大的讀并發(fā)楷兽,但是需要保證單語(yǔ)句查詢的速度
  • 每天的新增數(shù)據(jù)太大,我么先考慮按天來(lái)進(jìn)行分區(qū)华临,分區(qū)后的所有區(qū)隔離芯杀,我們場(chǎng)景也不需要經(jīng)常的跨天訪問(wèn)
  1. 分區(qū)后性能效果如何,能否解決問(wèn)題
  • 我們首先使用部分?jǐn)?shù)據(jù)測(cè)試雅潭,測(cè)試表1900W+數(shù)據(jù)揭厚,加入分區(qū)
select * 
from table
where s.start_time BETWEEN "2019-10-18 00:00:01" and "2019-10-18 23:59:59" 

我們按照天來(lái)分區(qū),一天的數(shù)據(jù)25W左右

  • 分區(qū)前


    image.png
  • 分區(qū)后


    image.png

初步查看扶供,效果明顯筛圆。



問(wèn)題?

  1. 在插入數(shù)據(jù)的時(shí)候椿浓,缺少對(duì)應(yīng)的分區(qū)會(huì)插入失敗
  • 可以設(shè)置maxValue進(jìn)行容錯(cuò)(也就是可以接收所有數(shù)據(jù)的分區(qū))顽染,避免異常的數(shù)據(jù)操作
  1. 分區(qū)后如何恢復(fù)?
  • 分區(qū)后的數(shù)據(jù)分到了不同的物理文件轰绵,不同分區(qū)數(shù)據(jù)和索引都是獨(dú)立的粉寞,刪除分區(qū)就會(huì)刪除對(duì)應(yīng)的數(shù)據(jù)。
  • 想恢復(fù)不分區(qū)左腔,可以考慮創(chuàng)建結(jié)構(gòu)相同的表遷移數(shù)據(jù)
  1. 分區(qū)后的跨區(qū)查詢速度如何唧垦?
    接下來(lái)
  2. 新插入分區(qū)的值上限,需要比目前的大液样,所以得考慮后續(xù)數(shù)據(jù)量的增長(zhǎng)問(wèn)題振亮,合理的設(shè)置分區(qū)值



分區(qū)操作語(yǔ)句

查看分區(qū)情況

select 
  partition_name part,  
  partition_expression expr,  
  partition_description descr,  
  table_rows  
from information_schema.partitions  where 
  table_schema = schema()  
  and table_name='stb_traffic_info_lane'; 

添加分區(qū)

ALTER table stb_traffic_info_lane 
add partition (partition  p20200726  VALUES LESS THAN (737995) ENGINE = InnoDB);

刪除分區(qū)

alter table stb_traffic_info_lane drop partition p20200726;

創(chuàng)建表巧还,增加分區(qū)。數(shù)據(jù)從現(xiàn)有的表拷貝過(guò)來(lái)

CREATE TABLE `stb_traffic_info_lane_2` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT,
  `start_time` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
  `end_time` datetime DEFAULT NULL,
  `remarks` varchar(12800) DEFAULT NULL,
  `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新時(shí)間',
  PRIMARY KEY (`id`,`start_time`),
  KEY `index_1` (`index_id`,`time_type`,`start_time`,`end_time`,`cross_id`,`branch_id`,`lane_id`)
    
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8
PARTITION BY RANGE (TO_DAYS(start_time)) 
    PARTITIONS 2(
        PARTITION  p20191018  VALUES LESS THAN (TO_DAYS('20191018')) ENGINE = INNODB,
        PARTITION  p20191019  VALUES LESS THAN (TO_DAYS('20191019')) ENGINE = INNODB
    )

從其他表遷移數(shù)據(jù)

insert into `stb_traffic_info_lane_2` 
select * from `stb_traffic_info_lane_1`
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末坊秸,一起剝皮案震驚了整個(gè)濱河市麸祷,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌褒搔,老刑警劉巖阶牍,帶你破解...
    沈念sama閱讀 211,743評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異星瘾,居然都是意外死亡走孽,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,296評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門琳状,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)磕瓷,“玉大人,你說(shuō)我怎么就攤上這事念逞±常” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 157,285評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵翎承,是天一觀的道長(zhǎng)陷舅。 經(jīng)常有香客問(wèn)我,道長(zhǎng)审洞,這世上最難降的妖魔是什么莱睁? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,485評(píng)論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮芒澜,結(jié)果婚禮上仰剿,老公的妹妹穿的比我還像新娘。我一直安慰自己痴晦,他們只是感情好南吮,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,581評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著誊酌,像睡著了一般部凑。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上碧浊,一...
    開(kāi)封第一講書(shū)人閱讀 49,821評(píng)論 1 290
  • 那天涂邀,我揣著相機(jī)與錄音,去河邊找鬼箱锐。 笑死比勉,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播浩聋,決...
    沈念sama閱讀 38,960評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼观蜗,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了衣洁?” 一聲冷哼從身側(cè)響起墓捻,我...
    開(kāi)封第一講書(shū)人閱讀 37,719評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎坊夫,沒(méi)想到半個(gè)月后砖第,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,186評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡践樱,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,516評(píng)論 2 327
  • 正文 我和宋清朗相戀三年厂画,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了凸丸。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片拷邢。...
    茶點(diǎn)故事閱讀 38,650評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖屎慢,靈堂內(nèi)的尸體忽然破棺而出瞭稼,到底是詐尸還是另有隱情,我是刑警寧澤腻惠,帶...
    沈念sama閱讀 34,329評(píng)論 4 330
  • 正文 年R本政府宣布环肘,位于F島的核電站,受9級(jí)特大地震影響集灌,放射性物質(zhì)發(fā)生泄漏悔雹。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,936評(píng)論 3 313
  • 文/蒙蒙 一欣喧、第九天 我趴在偏房一處隱蔽的房頂上張望腌零。 院中可真熱鬧,春花似錦唆阿、人聲如沸益涧。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,757評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)闲询。三九已至,卻和暖如春浅辙,著一層夾襖步出監(jiān)牢的瞬間扭弧,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,991評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工记舆, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留寄狼,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,370評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像泊愧,于是被迫代替她去往敵國(guó)和親伊磺。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,527評(píng)論 2 349