一、分區(qū)概念?
分區(qū)允許根據(jù)指定的規(guī)則,跨文件系統(tǒng)分配單個(gè)表的多個(gè)部分。表的不同部分在不同的位置被存儲(chǔ)為單獨(dú)的表。MySQL從5.1.3開始支持Partition。
分區(qū)和手動(dòng)分表對(duì)比
手動(dòng)分表?-----------------??分區(qū)
多張數(shù)據(jù)表------------一張數(shù)據(jù)表
重復(fù)數(shù)據(jù)的風(fēng)險(xiǎn)??------------沒有數(shù)據(jù)重復(fù)的風(fēng)險(xiǎn)
寫入多張表------------寫入一張表
沒有統(tǒng)一的約束限制------------強(qiáng)制的約束限制
?
MySQL支持RANGE,LIST,HASH,KEY分區(qū)類型,其中以RANGE最為常用:
Range(范圍)–?這種模式允許將數(shù)據(jù)劃分不同范圍。例如可以將一個(gè)表通過年份劃分成若干個(gè)分區(qū)。
List(預(yù)定義列表)–?這種模式允許系統(tǒng)通過預(yù)定義的列表的值來對(duì)數(shù)據(jù)進(jìn)行分割。
Hash(哈希)–?這中模式允許通過對(duì)表的一個(gè)或多個(gè)列的Hash?Key進(jìn)行計(jì)算,最后通過這個(gè)Hash碼不同數(shù)值對(duì)應(yīng)的數(shù)據(jù)區(qū)域進(jìn)行分區(qū)。例如可以建立一個(gè)對(duì)表主鍵進(jìn)行分區(qū)的表。
Key(鍵值)-?上面Hash模式的一種延伸,這里的Hash?Key是MySQL系統(tǒng)產(chǎn)生的。
Composite(復(fù)合模式)?–?以上模式的組合使用。比如,在初始化已經(jīng)進(jìn)行了Range范圍分區(qū)的表上,我們可以對(duì)其中一個(gè)分區(qū)再進(jìn)行hash哈希分區(qū)?!?br>?
二、分區(qū)能做什么
邏輯數(shù)據(jù)分割
提高單一的寫和讀應(yīng)用速度
提高分區(qū)范圍讀查詢的速度
分割數(shù)據(jù)能夠有多個(gè)不同的物理文件路徑
高效的保存歷史數(shù)據(jù)
一個(gè)表上的約束檢查
不同的主從服務(wù)器分區(qū)策略,例如master按Hash分區(qū),slave按range分區(qū)
Tips:?如果需要子分區(qū)的話,一般只針對(duì)range和list進(jìn)行子分區(qū),而子分區(qū)采用的模式通常為hash或者key
1.shell/批處理代碼
#這里修改成分區(qū)表 ALTER TABLE sign PARTITION by RANGE(id)( PARTITION sign_p0 VALUES less than (10000000), PARTITION sign_p1 VALUES less than (20000000), PARTITION sign_p2 VALUES less than (30000000), PARTITION sign_p3 VALUES less than (40000000), PARTITION sign_p4 VALUES less than (50000000), PARTITION sign_p5 VALUES less than (60000000), PARTITION sign_p6 VALUES less than (70000000), PARTITION sign_p7 VALUES less than (80000000), PARTITION sign_p8 VALUES less than (90000000), PARTITION sign_p9 VALUES less than MAXVALUE ); #如果創(chuàng)建時(shí)分區(qū)表 CREATE TABLE sign(表結(jié)構(gòu))engine=MyISAM PARTITION BY RANGE(id)( PARTITION sign_p0 VALUES less than (10000000), PARTITION sign_p1 VALUES less than (20000000), PARTITION sign_p2 VALUES less than (30000000), PARTITION sign_p3 VALUES less than (40000000), PARTITION sign_p4 VALUES less than (50000000), PARTITION sign_p5 VALUES less than (60000000), PARTITION sign_p6 VALUES less than (70000000), PARTITION sign_p7 VALUES less than (80000000), PARTITION sign_p8 VALUES less than (90000000), PARTITION sign_p9 VALUES less than MAXVALUE );
2.截圖
3.批處理代碼
#上圖所示 #通常的PC機(jī),一億條記錄,修改時(shí)耗時(shí)接近12分鐘; #分區(qū)前,大概2.5G多數(shù)據(jù),分區(qū)后有接近3.9G

ホットAIツール

Undress AI Tool
脫衣畫像を無料で

Undresser.AI Undress
リアルなヌード寫真を作成する AI 搭載アプリ

AI Clothes Remover
寫真から衣服を削除するオンライン AI ツール。

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中國語版
中國語版、とても使いやすい

ゼンドスタジオ 13.0.1
強(qiáng)力な PHP 統(tǒng)合開発環(huán)境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









