Да, есть возможность изменить разделы. Для этого необходимо перестроить разделы, поэтому для другой копии должно быть доступно пространство, и таблица будет заблокирована, пока перестраиваются разделы.
Это может быть довольно быстро на пустых или почти пустых разделах,но займет много времени на больших перегородках. Другие операции с таблицей будут блокироваться во время выполнения операций с разделами.
Перед операцией разделы выглядят следующим образом
, PARTITION p6 VALUES LESS THAN (300)
, PARTITION p7 VALUES LESS THAN MAXVALUE
)
Мы можем выполнить оператор для «разделенного» раздела p7
на два раздела, что-то вроде этого:
ALTER TABLE `Site` REORGANIZE PARTITION `p7` INTO
( PARTITION `p7` VALUES LESS THAN (350)
, PARTITION `pmaxvalue` VALUES LESS THAN MAXVALUE
) ;
после завершения операции определение раздела будет выглядеть примерно так:
, PARTITION p6 VALUES LESS THAN (300)
, PARTITION p7 VALUES LESS THAN (350)
, PARTITION pmaxvalue VALUES LESS THAN MAXVALUE
)
В дальнейшем мы можем разбить раздел pmaxvalue
очередной раз. На этот раз демонстрация разделения на три раздела:
ALTER TABLE `Site` REORGANIZE PARTITION `pmaxvalue` INTO
( PARTITION `p8` VALUES LESS THAN (400)
, PARTITION `p9` VALUES LESS THAN (450)
, PARTITION `pmaxvalue` VALUES LESS THAN MAXVALUE
)
Синтаксис для REORGANIZE PARTITION
и обслуживание разделов в целом задокументировано в Справочном руководстве MySQL.