0

我有一张有数百万行的表,我想创建一些分区,但我真的不知道该怎么做。我的意思是我希望以 ID 1 -> 10000 开头的数据位于第一分区,而以 ID 10001 -> 20000 开头的数据位于第二分区;等等...?你能给我举个例子吗?

我在互联网上搜索了很多,我阅读了很多文档,但我仍然不明白它需要如何完成!

此致,

4

2 回答 2

1

这是您可以开始使用分区的方式:

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 版开始可用。

于 2010-06-01T12:08:50.690 回答
0
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
于 2010-06-01T11:27:25.063 回答