日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

分區(qū)命名規(guī)則

更新時(shí)間:

本文介紹了一級和二級分區(qū)的命名規(guī)則。

當(dāng)您需要訪問或修改指定的一級分區(qū)或二級分區(qū)時(shí),通常語法里需要指定具體的一級分區(qū)或二級分區(qū)的名字。

因此,這里對分區(qū)表中一些會自動(dòng)生成分區(qū)名的規(guī)則進(jìn)行說明。

分區(qū)表中涉及到自動(dòng)生成分區(qū)名字的有以下幾種情況:

  • 分區(qū)表或全局索引表使用HASH或KEY進(jìn)行分區(qū)(包括自動(dòng)分區(qū)表);

  • 分區(qū)表使用模板化二級分區(qū)進(jìn)行分區(qū);

  • 哈希分區(qū)表被手動(dòng)執(zhí)行分區(qū)分裂變更。

一級分區(qū)命名規(guī)則

一級分區(qū)會自動(dòng)生成分區(qū)名字的場景主要在使用哈希分區(qū)策略(Hash或Key)并僅指定哈希分區(qū)數(shù)目(包括手動(dòng)分區(qū)表與自動(dòng)分區(qū)表)。

使用哈希策略進(jìn)行分區(qū),其分區(qū)名字的命名規(guī)則為:p+分區(qū)下標(biāo) (從1開始計(jì)數(shù)) 。

CREATE TABLE test_tbl_part_name(
 id bigint not null auto_increment, 
 bid int, 
 name varchar(30),
 birthday datetime not null,
 primary key(id)
) 
PARTITION BY KEY(id) 
PARTITIONS 4

例如, 若使用上述語句創(chuàng)建分區(qū)表,那么,分區(qū)的生成結(jié)果是:第1個(gè)哈希分區(qū)的名字是p1,第2個(gè)哈希分區(qū)的名字是p2,如此類推。以下是實(shí)際驗(yàn)證結(jié)果:

CREATE TABLE test_tbl_part_name (
    ->  id bigint not null auto_increment, 
    ->  primary key(id)
    -> ) 
    -> PARTITION BY KEY(id) 
    -> PARTITIONS 4;
Query OK, 0 rows affected (1.13 sec)

select table_name,partition_name from information_schema.partitions where table_name='test_tbl_part_name';
+--------------------+----------------+
| table_name         | partition_name |
+--------------------+----------------+
| test_tbl_part_name | p1             |
| test_tbl_part_name | p2             |
| test_tbl_part_name | p3             |
| test_tbl_part_name | p4             |
+--------------------+----------------+
4 rows in set (0.59 sec)

另外,如果用戶通過ALTER語句對分區(qū)表的特定分區(qū)進(jìn)行一些分裂變更,那么分裂生成的新分區(qū)名字的命名規(guī)則:p+當(dāng)前最大分區(qū)下標(biāo)+1。示例如下:

alter table test_tbl_part_name split partition p1;
Query OK, 0 rows affected (5.83 sec)

select table_name,partition_name from information_schema.partitions where table_name='test_tbl_part_name';
+--------------------+----------------+
| table_name         | partition_name |
+--------------------+----------------+
| test_tbl_part_name | p5             |
| test_tbl_part_name | p6             |
| test_tbl_part_name | p2             |
| test_tbl_part_name | p3             |
| test_tbl_part_name | p4             |
+--------------------+----------------+
5 rows in set (0.18 sec)

二級分區(qū)命名規(guī)則

二級分區(qū)有模板化與非模板化兩種用法,因此二級分區(qū)的名字的生成規(guī)則比較一級分區(qū)的要略復(fù)雜一點(diǎn)。

對于模板化二級分區(qū),哈希分區(qū)模板的命名規(guī)則是:sp+二級分區(qū)下標(biāo)(從1開始計(jì)數(shù))。

對于非模板化二級分區(qū),各個(gè)一級分區(qū)下的哈希分區(qū)名字是獨(dú)立生成,其命名規(guī)則也是:sp+二級分區(qū)下標(biāo)(從1開始計(jì)數(shù),各個(gè)一級分區(qū)獨(dú)立計(jì)數(shù))。

對于所有二級分區(qū),其分區(qū)實(shí)際名字的生成規(guī)則是:一級分區(qū)名字+二級分區(qū)(模板)名字。

例如,若使用以下分區(qū)定義創(chuàng)建模板化二級分區(qū)表:

CREATE TABLE test_tbl_part_name2(
 id bigint not null auto_increment, 
 bid int, 
 name varchar(30),
 birthday datetime not null,
 primary key(id)
) 
PARTITION BY KEY(bid) 
PARTITIONS 2
SUBPARTITION BY KEY(id) 
SUBPARTITIONS 4

那么,這個(gè)表的所有二級分區(qū)的名字生成過程過如下:

  1. 自動(dòng)生成一級分區(qū)的哈希分區(qū):p1,p2;

  2. 自動(dòng)生成二級分區(qū)模板的哈希分區(qū)名,sp1,sp2,sp3,sp4;

  3. 最后生成二級分區(qū)的實(shí)際名字(物理分區(qū)名字,一級分區(qū)名+二級分區(qū)名):

    • p1sp1, p1sp2, p1sp3, p1sp4

    • p2sp1, p2sp2, p2sp3, p2sp4

以下是分區(qū)信息的查詢結(jié)果:

mysql> CREATE TABLE test_tbl_part_name2(
    ->  id bigint not null auto_increment, 
    ->  bid int, 
    ->  name varchar(30),
    ->  birthday datetime not null,
    ->  primary key(id)
    -> ) 
    -> PARTITION BY KEY(bid) 
    -> PARTITIONS 2
    -> SUBPARTITION BY KEY(id) 
    -> SUBPARTITIONS 4;
Query OK, 0 rows affected (1.40 sec)

mysql> select table_name,partition_name,subpartition_name from information_schema.partitions where table_schema='autodb2' and table_name='test_tbl_part_name2';
+---------------------+----------------+-------------------+
| table_name          | partition_name | subpartition_name |
+---------------------+----------------+-------------------+
| test_tbl_part_name2 | p1             | p1sp1             |
| test_tbl_part_name2 | p1             | p1sp2             |
| test_tbl_part_name2 | p1             | p1sp3             |
| test_tbl_part_name2 | p1             | p1sp4             |
| test_tbl_part_name2 | p2             | p2sp1             |
| test_tbl_part_name2 | p2             | p2sp2             |
| test_tbl_part_name2 | p2             | p2sp3             |
| test_tbl_part_name2 | p2             | p2sp4             |
+---------------------+----------------+-------------------+
8 rows in set (0.12 sec)