MySQL分區有多種模式,而且在MySQL5.1中,支持水平分區,下面就為您介紹5個常見的MySQL分區模式,希望對您有所幫助。
MySQL5.1中最激動人心的新特性應該就是對水平分區的支持了。這對MySQL的使用者來說確實是個好消息,而且她已經支持分區大部分模式:
Range范圍) – 這種模式允許DBA將數據劃分不同范圍。例如DBA可以將一個表通過年份劃分成三個分區,80年代1980's)的數據,90年代1990's)的數據以及任何在2000年包括2000年)後的數據。
Hash哈希)– 這中模式允許DBA通過對表的一個或多個列的Hash Key進行計算,最後通過這個Hash碼不同數值對應的數據區域進行分區,。例如DBA可以建立一個對表主鍵進行分區的表。
Key鍵值) – 上面Hash模式的一種延伸,這裡的Hash Key是MySQL系統產生的。
List預定義列表) – 這種模式允許系統通過DBA定義的列表的值所對應的行數據進行分割。例如:DBA建立了一個橫跨三個分區的表,分別根據2004年2005年和2006年值所對應的數據。
Composite復合模式) - 其實是以上模式的組合使用。舉例:在初始化已經進行了Range范圍分區的表上,我們可以對其中一個分區再進行hash哈希分區。
MySQL分區帶來的好處太多了,這裡強調兩點好處:
性能的提升Increased performance) - 在掃描操作中,如果MySQL的優化器知道哪個分區中才包含特定查詢中需要的數據,它就能直接去掃描那些分區的數據,而不用浪費很多時間掃描不需要的地方 了。需要舉個例子?好啊,百萬行的表劃分為10個分區,每個分區就包含十萬行數據,那麼查詢分區需要的時間僅僅是全表掃描的十分之一了,很明顯的對比。同 時對十萬行的表建立索引的速度也會比百萬行的快得多得多。如果你能把這些分區建立在不同的磁盤上,這時候的I/O讀寫速度就“不堪設想”沒用錯詞,真的 太快了,理論上100倍的速度提升啊,這是多麼快的響應速度啊,所以有點不堪設想了)了。
對數據管理的簡化Simplified data management) - MySQL分區技術可以讓DBA對數據的管理能力提升。通過優良的MySQL分區,DBA可以簡化特定數據操作的執行方式。例如:DBA在對某些分區的內容進行刪除的同時能保證余下的分區的數據完整性(這是跟對表的數據刪除這種大動作做比較的)。 此外分區是由MySQL系統直接管理的,DBA不需要手工的去劃分和維護。
MySQL分區的兩種形式
sql分區表對函數的限制
MySQL環境變量配置說明
定義MySQL事務的例子
mysql存儲過程問題解答