我有一张有数百万行的表,我想创建一些分区,但我真的不知道该怎么做。我的意思是我希望以 ID 1 -> 10000 开头的数据位于第一分区,而以 ID 10001 -> 20000 开头的数据位于第二分区;等等...?你能给我举个例子吗?
我在互联网上搜索了很多,我阅读了很多文档,但我仍然不明白它需要如何完成!
此致,
我有一张有数百万行的表,我想创建一些分区,但我真的不知道该怎么做。我的意思是我希望以 ID 1 -> 10000 开头的数据位于第一分区,而以 ID 10001 -> 20000 开头的数据位于第二分区;等等...?你能给我举个例子吗?
我在互联网上搜索了很多,我阅读了很多文档,但我仍然不明白它需要如何完成!
此致,
这是您可以开始使用分区的方式:
ALTER TABLE table_with_millions_of_rows
PARTITION BY RANGE (id) (
PARTITION p0 VALUES LESS THAN (10000),
PARTITION p1 VALUES LESS THAN (20000),
PARTITION p2 VALUES LESS THAN MAXVALUE
)
有关如何管理(创建、删除、更改设置等)分区的更多信息可以在 MySQL 手册的“分区”一章中找到。
注意:MySQL 中的分区从 5.1 版开始可用。
CREATE TABLE part1 (...)
CREATE TABLE part2 (...)
INSERT INTO part1 SELECT * FROM original WHERE id => 0 AND id < 10000
INSERT INTO part2 SELECT * FROM original WHERE id => 10000 AND id < 20000