我的 SQL Table 分区
My SQL Table Partitions
示例:我创建了一个包含 1000 个数据的 table。
我把这个分区table
alter table rnds add primary key (id) partition by HASH(id) partitions 200;
我检查了 mysql 数据目录,发现它创建了 5 个部分
rnds#P#p0.ibd , rnds#P#p1.ibd , rnds#P#p2.ibd , rnds#P#p3.ibd , rnds#P#p4.ibd
- 我在这个 table 中插入另一个
1000 row
并且插入成功后。
- 我的问题是为什么不为新
1000 data
创建新部件。
- 创建 table 分区后 table 如何管理新数据。
如果你想创建 5 个分区,你应该使用:
alter table rnds partition by HASH(id) partitions 5;
此命令将创建 5 个分区,并根据 ID
向它们添加新行。不会自动创建新分区。您可以使用 ADD PARTITION
命令添加新分区。
详情见this link。
示例:我创建了一个包含 1000 个数据的 table。
我把这个分区table
alter table rnds add primary key (id) partition by HASH(id) partitions 200;
我检查了 mysql 数据目录,发现它创建了 5 个部分
rnds#P#p0.ibd , rnds#P#p1.ibd , rnds#P#p2.ibd , rnds#P#p3.ibd , rnds#P#p4.ibd
- 我在这个 table 中插入另一个
1000 row
并且插入成功后。 - 我的问题是为什么不为新
1000 data
创建新部件。 - 创建 table 分区后 table 如何管理新数据。
如果你想创建 5 个分区,你应该使用:
alter table rnds partition by HASH(id) partitions 5;
此命令将创建 5 个分区,并根据 ID
向它们添加新行。不会自动创建新分区。您可以使用 ADD PARTITION
命令添加新分区。
详情见this link。