Spec-Zone .ru
спецификации, руководства, описания, API

13.1.8. ALTER TABLESPACE Синтаксис

ALTER TABLESPACE tablespace_name    {ADD|DROP} DATAFILE 'file_name'    [INITIAL_SIZE [=] size]    [WAIT]    ENGINE [=] engine_name

Этот оператор может использоваться или чтобы добавить новый файл данных, или отбросить файл данных от табличной области.

ADD DATAFILE разновидность позволяет Вам определить начальный размер, используя INITIAL_SIZE пункт, где size измеряется в байтах; значение по умолчанию 128M (128 мегабайтов). Можно дополнительно следовать за этим целочисленным значением с однобуквенным сокращением для порядка величины, подобного используемым в my.cnf. Обычно, это - одна из букв M (для мегабайтов) или G (для гигабайтов).

Отметить

Вся доля MySQL Cluster Disk Data objects то же самое пространство имен. Это означает, что каждый Дисковый Объект данных нужно уникально назвать (и не просто каждый Дисковый Объект данных данного типа). Например, у Вас не может быть табличной области и файла данных с тем же самым именем, или файла журнала отмены и табличной области с тем же самым именем.

На 32-разрядных системах, максимальном поддерживаемом значении для INITIAL_SIZE 4G. (Ошибка #29186)

INITIAL_SIZE округляется, явно, что касается CREATE TABLESPACE.

Как только файл данных был создан, его размер не может быть изменен; однако, можно добавить больше файлов данных к табличной области, использующей дополнительный ALTER TABLESPACE ... ADD DATAFILE операторы.

Используя DROP DATAFILE с ALTER TABLESPACE отбрасывает файл данных'file_name'от табличной области. Невозможно отбросить файл данных от табличной области, которая используется любой таблицей; другими словами файл данных должен быть пустым (никакие используемые степени). См. Раздел 17.5.12.1, "MySQL Cluster Disk Data Objects". Кроме того, любой файл данных, который будет отброшен, должно быть, ранее был добавлен к табличной области с CREATE TABLESPACE или ALTER TABLESPACE.

Оба ALTER TABLESPACE ... ADD DATAFILE и ALTER TABLESPACE ... DROP DATAFILE потребуйте ENGINE пункт, который определяет механизм хранения, используемый табличной областью. В настоящий момент, единственные принятые значения для engine_name NDB и NDBCLUSTER.

WAIT анализируется, но иначе игнорируется, и так не имеет никакого эффекта в MySQL 5.6. Это предназначается для будущего расширения.

Когда ALTER TABLESPACE ... ADD DATAFILE используется с ENGINE = NDB, файл данных создается на каждом узле данных Кластера. Можно проверить, что файлы данных создавались и получают информацию о них, запрашивая INFORMATION_SCHEMA.FILES таблица. Например, следующий запрос показывает все файлы данных, принадлежащие названной табличной области newts:

mysql> SELECT LOGFILE_GROUP_NAME, FILE_NAME,
        EXTRA    -> FROM INFORMATION_SCHEMA.FILES    -> WHERE TABLESPACE_NAME = 'newts' AND FILE_TYPE = 'DATAFILE';+--------------------+--------------+----------------+| LOGFILE_GROUP_NAME | FILE_NAME    | EXTRA          |+--------------------+--------------+----------------+| lg_3               | newdata.dat  | CLUSTER_NODE=3 || lg_3               | newdata.dat  | CLUSTER_NODE=4 || lg_3               | newdata2.dat | CLUSTER_NODE=3 || lg_3               | newdata2.dat | CLUSTER_NODE=4 |+--------------------+--------------+----------------+2 rows in set (0.03 sec)

См. Раздел 20.8," INFORMATION_SCHEMA FILES Таблица".

ALTER TABLESPACE полезно только с Дисковым Хранением данных для MySQL Cluster. См. Раздел 17.5.12, "MySQL Cluster Disk Data Tables".