Spec-Zone .ru
спецификации, руководства, описания, API
|
MySQL 5.7 обеспечивает много способов изменить разделенные таблицы. Возможно добавить, отбросить, пересмотреть,
объединить, или разделить существующие разделы. Все эти действия могут быть выполнены, используя расширения
разделения ALTER TABLE
оператор. Есть также способы получить информацию о разделенных таблицах и разделах. Мы обсуждаем эти темы в
разделах, которые следуют.
Для получения информации об управлении разделом в таблицах, разделенных RANGE
или LIST
, см. Раздел
17.3.1, "Управление RANGE
и LIST
Разделы"
.
Для обсуждения управления HASH
и KEY
разделы, см. Раздел
17.3.2, "Управление HASH
и KEY
Разделы"
.
См. Раздел 17.3.5, "Получая информацию О Разделах", для обсуждения механизмов, обеспеченных в MySQL 5.7 для получения информации о разделенных таблицах и разделах.
Для обсуждения выполнения операций обслуживания на разделах см. Раздел 17.3.4, "Обслуживание Разделов".
В MySQL 5.7 у всех разделов разделенной таблицы должно быть то же самое число подразделов, и не возможно изменить подразделение, как только таблица была составлена.
Чтобы изменить схему выделения разделов таблицы, необходимо только использовать ALTER TABLE
оператор с a partition_options
пункт. У этого пункта есть тот же самый синтаксис
как который как использующийся с CREATE
TABLE
для того, чтобы создать разделенную таблицу, и всегда начинается с ключевых слов PARTITION BY
. Предположите, что Вам разделил таблицу диапазон, используя
следующий CREATE TABLE
оператор:
CREATE TABLE trb3 (id INT, name VARCHAR(50), purchased DATE) PARTITION BY RANGE( YEAR(purchased) ) ( PARTITION p0 VALUES LESS THAN (1990), PARTITION p1 VALUES LESS THAN (1995), PARTITION p2 VALUES LESS THAN (2000), PARTITION p3 VALUES LESS THAN (2005) );
Повторно разделить эту таблицу так, чтобы это было разделено ключом в два раздела, используя id
значение столбца как основание для ключа, можно использовать этот оператор:
ALTER TABLE trb3 PARTITION BY KEY(id) PARTITIONS 2;
Это имеет тот же самый эффект на структуру таблицы как отбрасывание таблицы и воссоздание этого использование
CREATE TABLE trb3 PARTITION BY KEY(id) PARTITIONS 2;
.
ALTER TABLE ... ENGINE = ...
изменения только механизм хранения, используемый
таблицей, и листами неповрежденная схема выделения разделов таблицы. Использовать ALTER
TABLE ... REMOVE PARTITIONING
удалить разделение таблицы. См. Раздел
13.1.6,"ALTER TABLE
Синтаксис".
Только сингл PARTITION BY
, ADD PARTITION
,
DROP PARTITION
, REORGANIZE PARTITION
, или COALESCE PARTITION
пункт может использоваться в данном ALTER TABLE
оператор. Если Вы (например) хотите отбросить раздел и
реорганизовать остающиеся разделы таблицы, следует сделать так в два отдельный ALTER TABLE
операторы (одно использование DROP
PARTITION
и затем второе использование REORGANIZE PARTITIONS
).
В MySQL 5.7 возможно удалить все строки от один или более выбранное использование разделов ALTER TABLE ... TRUNCATE PARTITION
.