MySQL入門--分割槽表

panpong發表於2017-01-18

MySQL分割槽

1) 分割槽型別

? RANGE:範圍應該連續但不重疊,使用VALUES LESS THAN 運算子進行定義。

? LIST:像在由RANGE 進行分割槽一樣,必須顯式定義每個分割槽。

? HASH:對要插入表中的行的列值進行操作。

? KEY:與HASH 類似,不同之處在於僅提供要評估的一個或多個列並且MySQL 伺服器提供雜湊函式。它適用於所有允許的列型別。

? COLUMNS:RANGE 和LIST 分割槽上的變體。COLUMNS 分割槽允許在分割槽鍵中使用一個或多個列。在以下情況時將考慮所有這些列:將行放入分割槽中,以及確定將檢查哪些分割槽來匹配分割槽刪改中的行。

- RANGE COLUMNS 和LIST COLUMNS 分割槽支援使用非整數列(以及前面列出的其他資料型別)來定義值範圍或列表成員。

? LINEAR:MySQL 還支援線性雜湊,其不同於常規雜湊,線性雜湊使用線性2 的冪演算法,而常規雜湊使用雜湊函式值的模。


2) 確認伺服器是否支援分割槽

Mysql>show plugins \G

Name: partition

Status: ACTIVE

Type: STORAGE ENGINE

Library: NULL

License: PROPRIETARY

禁用分割槽支援:

shell> mysqld --skip-partition

– partition 外掛現在具有值DISABLED

3) 建立分割槽

(root@localhost) [mydb1]> create table tt(f1 int,f2 varchar(20)) partition by range(f1)

(

partition tt_p1 values less than(100),

partition tt_p2 values less than(1000),

partition tt_p3 values less than(10000),

partition tt_p4 values less than(maxvalue)

)

4) 檢視錶分割槽分割槽

(root@localhost) [mydb1]> show create table tt;

(root@localhost) [mydb1]> show table status like 'tt' \G;

(root@localhost)[mydb1]> select table_name ,group_concat(partition_name) pn from information_schema.partitions where table_schema='mydb1' group by table_name;

+------------+-------------------------+

| table_name | pn          |

+------------+-------------------------+

| tt         | tt_p1,tt_p2,tt_p3,tt_p4 |

+------------+-------------------------+


(root@localhost) [mydb1]> EXPLAIN PARTITIONS SELECT * FROM tt \G

*************************** 1. row ***************************

           id: 1

  select_type: SIMPLE

        table: tt

   partitions: tt_p1,tt_p2,tt_p3,tt_p4

         type: ALL

possible_keys: NULL

          key: NULL

      key_len: NULL

          ref: NULL

         rows: 1

     filtered: 100.00

        Extra: NULL

1 row in set, 2 warnings (0.00 sec)


5) 分割槽限制

? 常規

每個表的最大分割槽數為8192。

不支援空間型別。

不能對臨時表進行分割槽。

不能對日誌表進行分割槽。

? 外來鍵和索引

不支援外來鍵。

不支援FULLTEXT 索引。

無全域性索引:每個分割槽都有各自的索引。

? 僅可能在以下情況下進行子分割槽:

透過RANGE 和LIST 進行分割槽時。

透過LINEAR HASH 或LINEAR KEY 進行時。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/16976507/viewspace-2132649/,如需轉載,請註明出處,否則將追究法律責任。

相關文章