1. 程式人生 > >MySql分割槽學習總結一:分割槽概述

MySql分割槽學習總結一:分割槽概述

MySql分割槽學習總結一:分割槽概述

通過看書和查資料對mysql的分割槽進行了簡單瞭解。稱還有映像記錄一下,以便將來使用時回顧。

分割槽簡述

什麼是分割槽?
MySql從5.1以後開始支援分割槽功能。分割槽就是根據一定的規則,將資料庫中的表分為多個更小的部分。但在邏輯上,還是隻有一個表或者一個索引,在邏輯上這個表可能又幾個物理分割槽物件組成。所以分割槽並不破壞表中資料的原子性,不違背第一正規化(簡單理解為表中不能有表)。每個分割槽都可作為一個單獨的物件進行處理。

分割槽的好處
將資料進行分割槽對資料的處理操作有一定的好處,簡單來說有一下4點:可以儲存跟多資料、可以優化查詢、對於不需要的資料刪除時更加的方便,只用刪除不用的分割槽即可、可以跨多個磁碟來分散資料的查詢。

分割槽型別
分割槽主要包括一下四種類型:

RANGE :給一個連續的區間範圍,將資料分到不同的範圍中
LIST:和RANGE相似,不過他是基於枚舉出的值列表分割槽
HASH:基於給定的分割槽個數,把資料分配到不同的分割槽
KEY:和HASH差不多

後面將對這些分割槽進行講解

分割槽使用時的注意事項

1.不管是哪種分割槽,要麼分割槽表上沒有主鍵或者是唯一鍵,要麼分割槽表的主鍵或者唯一鍵都必須包含分割槽鍵,不能使用主鍵或唯一鍵欄位以為的其它欄位進行分割槽。比如表中有個欄位id是主鍵,那麼就要用id作為分割槽的依據,不能用別的鍵例如年齡作為依據。但是,如果我就看著年齡順眼,就想用年齡作為分割槽鍵怎麼辦。那麼我們就可以把年齡和id作為一個複合主鍵,這樣就可以用年齡作為分割槽鍵。具體的執行方法如下圖:
在這裡插入圖片描述

2.在WINDOWS系統中的大小寫是不敏感的,而在UNLX或Linux系統中的大小寫敏感的。作業系統大小寫是否敏感決定這資料庫和表名的大小寫是否敏感。但在分割槽中,分割槽的名字是不區分大小寫的。例如分割槽 myparty和MyParty是沒有區別的。

3.MySql的大部分儲存引擎都支援分割槽,但MERGE和CSV引擎不支援分割槽。同一個表中的分割槽只能使用一種引擎。

以上就是對mysql分割槽的一些基本介紹,接下來將對個個分割槽型別進行詳細的講解。

mysql分割槽學習總結二:RANGE分割槽,LIST分割槽