如何为列的每个不同值创建MySQL表的分区?

时间:2017-01-17 16:08:38

标签: mysql dynamic distinct partitioning

假设我有一个由以下指令创建的表:

CREATE TABLE `SensorsData` (
  `sensor_id` int(10) unsigned NOT NULL,
  `timestamp` bigint(20) unsigned NOT NULL,
  `data` double NOT NULL,
  PRIMARY KEY (`sensor_id`,`timestamp`),
  FOREIGN KEY (`sensor_id`) REFERENCES `Sensors` (`sensor_id`) ON DELETE CASCADE ON UPDATE CASCADE
)

这样的表将包含大量数据,我想创建分区(https://dev.mysql.com/doc/refman/5.7/en/partitioning.html)。

我想为列sensor_id的每个不同值分配一个分区。 我事先并不知道sensor_id的不同值的数量,因此每当我使用新的sensor_id在SensorsData中创建一个新行时,分区的数量就会增加。

使用REORGANIZE PARTITION的

This解决方案似乎接近我必须做的事情,但我不确定如何重新排列它以使其适用于我的场景。你能帮我解决一下或建议不同的方法吗?

0 个答案:

没有答案