Spec-Zone .ru
спецификации, руководства, описания, API
|
CREATE TABLESPACEtablespace_name
ADD DATAFILE 'file_name
' USE LOGFILE GROUPlogfile_group
[EXTENT_SIZE [=]extent_size
] [INITIAL_SIZE [=]initial_size
] [AUTOEXTEND_SIZE [=]autoextend_size
] [MAX_SIZE [=]max_size
] [NODEGROUP [=]nodegroup_id
] [WAIT] [COMMENT [=]comment_text
] ENGINE [=]engine_name
Этот оператор используется, чтобы создать табличную область, которая может содержать один или более файлов
данных, обеспечивая пространство памяти для таблиц. Один файл данных создается и добавляется к табличной
области, используя этот оператор. Дополнительные файлы данных могут быть добавлены к табличной области при
использовании ALTER TABLESPACE
оператор (см. Раздел
13.1.8,"ALTER TABLESPACE
Синтаксис"). Для правил, касающихся
именования табличных областей, см. Раздел 9.2, "Имена объектов Схемы".
Вся доля MySQL Cluster Disk Data objects то же самое пространство имен. Это означает, что каждый Дисковый Объект данных нужно уникально назвать (и не просто каждый Дисковый Объект данных данного типа). Например, у Вас не может быть табличной области и группы файла журнала с тем же самым именем, или табличной области и файла данных с тем же самым именем.
Группа файла журнала один или больше UNDO
файлы журнала должны быть присвоены
табличной области быть созданными с USE LOGFILE GROUP
пункт. logfile_group
должна быть существующая группа файла журнала,
создаваемая с CREATE LOGFILE GROUP
(см. Раздел
13.1.14,"CREATE LOGFILE GROUP
Синтаксис"). Многократные табличные
области могут использовать ту же самую группу файла журнала для UNDO
журналирование.
EXTENT_SIZE
устанавливает размер, в байтах, степеней, используемых любыми файлами,
принадлежащими табличной области. Значение по умолчанию 1M. Минимальный размер составляет 32 K, и теоретический
максимум составляет 2 г, хотя практический максимальный размер зависит в ряде факторов. В большинстве случаев
изменение размера степени не имеет никакого измеримого эффекта на производительность, и значение по умолчанию
рекомендуется для всех кроме самых необычных ситуаций.
Степень является модулем выделения дискового пространства. Одна степень заполнена
таким большим количеством данных как, что степень может содержать прежде, чем другая степень используется. В
теории до 65 535 (64 K) степеней могут используемый на файл данных; однако, рекомендуемый максимум 32 768 (32
K). Рекомендуемый максимальный размер для единственного файла данных составляет 32 г — то есть, 32 K степеней ×
1 Мбайт за степень. Кроме того, как только степень выделяется данному разделу, она не может использоваться,
чтобы хранить данные от различного раздела; степень не может хранить данные больше чем от одного раздела. Это
означает, например что табличная область, имеющая единственный файл данных чей INITIAL_SIZE
256 Мбайт и чей EXTENT_SIZE
128M, имеет только две степени, и так может
использоваться, чтобы хранить данные от самое большее двух различных дисковых разделов таблицы данных.
Можно видеть, сколько степеней остается свободными в файле определенных данных, запрашивая INFORMATION_SCHEMA.FILES
таблица, и так получает оценку для того, сколько
пространства остается свободным в файле. Для дальнейшего обсуждения и примеров, см. Раздел
20.8," INFORMATION_SCHEMA FILES
Таблица".
INITIAL_SIZE
параметр устанавливает полный размер файла данных в байтах. Как только
файл был создан, его размер не может быть изменен; однако, можно добавить больше файлов данных к использованию
табличной области ALTER TABLESPACE ... ADD DATAFILE
. См. Раздел
13.1.8,"ALTER TABLESPACE
Синтаксис".
INITIAL_SIZE
является дополнительным; его значение по умолчанию 128M
.
На 32-разрядных системах, максимальном поддерживаемом значении для INITIAL_SIZE
4G
. (Ошибка #29186)
Устанавливая EXTENT_SIZE
или INITIAL_SIZE
(или или
оба), можно дополнительно следовать за числом с однобуквенным сокращением для порядка величины, подобного
используемым в my.cnf
. Обычно, это - одна из букв M
(для мегабайтов) или G
(для гигабайтов).
INITIAL_SIZE
, EXTENT_SIZE
, и UNDO_BUFFER_SIZE
подвергаются округлению следующим образом:
EXTENT_SIZE
и UNDO_BUFFER_SIZE
каждый окружаются к самому близкому целому кратному числу 32
K.
INITIAL_SIZE
округляется в
меньшую сторону до самого близкого целого кратного числа 32 K.
Для файлов данных INITIAL_SIZE подвергается дальнейшему
округлению; результат, только полученный, окружается к самому близкому целому кратному числу EXTENT_SIZE
(после любого округления).
Округление, только описанное, делается явно, и предупреждение выпускается MySQL Server, когда любое такое
округление выполняется. Округленные значения также используются ядром NDB для того, чтобы вычислить INFORMATION_SCHEMA.FILES
значения столбцов и другие цели. Однако, чтобы
избежать неожиданного результата, мы предлагаем, чтобы Вы всегда использовали целую сеть магазинов 32 K в
определении этих опций.
AUTOEXTEND_SIZE
, MAX_SIZE
, NODEGROUP
,
WAIT
, и COMMENT
анализируются, но игнорируются, и так
в настоящий момент не имеют никакого эффекта. Эти опции предназначаются для будущего расширения.
ENGINE
параметр определяет механизм хранения, который использует эту табличную
область, с engine_name
будучи именем механизма хранения. В настоящий
момент, engine_name
должно быть одно из значений NDB
или NDBCLUSTER
.
Когда CREATE TABLESPACE
используется с ENGINE = NDB
,
табличная область и связанный файл данных создаются на каждом узле данных Кластера. Можно проверить, что файлы
данных создавались и получают информацию о них, запрашивая INFORMATION_SCHEMA.FILES
таблица. Например:
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 |+--------------------+-------------+----------------+2 rows in set (0.01 sec)
(См. Раздел 20.8," INFORMATION_SCHEMA
FILES
Таблица".)
CREATE TABLESPACE
полезно только с Дисковым Хранением данных для MySQL Cluster.
См. Раздел 17.5.12, "MySQL Cluster Disk Data Tables".