MySQL 5.1 リファレンスマニュアル :: 12 SQL ステートメント構文 :: 12.1 データ定義ステートメント :: 12.1.4 ALTER TABLESPACE 構文
« 12.1.3 ALTER LOGFILE GROUP 構文

12.1.5 ALTER SERVER 構文 »
Section Navigation      [Toggle]
  • 12.1 データ定義ステートメント
  • 12.1.1 ALTER DATABASE 構文
  • 12.1.2 ALTER TABLE 構文
  • 12.1.3 ALTER LOGFILE GROUP 構文
  • 12.1.4 ALTER TABLESPACE 構文
  • 12.1.5 ALTER SERVER 構文
  • 12.1.6 CREATE DATABASE 構文
  • 12.1.7 CREATE INDEX 構文
  • 12.1.8 CREATE TABLE 構文
  • 12.1.9 CREATE LOGFILE GROUP 構文
  • 12.1.10 CREATE TABLESPACE 構文
  • 12.1.11 CREATE SERVER 構文
  • 12.1.12 DROP DATABASE 構文
  • 12.1.13 DROP INDEX 構文
  • 12.1.14 DROP TABLE 構文
  • 12.1.15 DROP LOGFILE GROUP 構文
  • 12.1.16 DROP TABLESPACE 構文
  • 12.1.17 DROP SERVER 構文
  • 12.1.18 RENAME DATABASE 構文
  • 12.1.19 RENAME TABLE 構文

12.1.4. ALTER TABLESPACE 構文

ALTER TABLESPACE tablespace
    ADD DATAFILE 'file'
    INITIAL_SIZE [=] size
    ENGINE [=] engine

ALTER TABLESPACE tablespace
    DROP DATAFILE 'file'
    ENGINE [=] engine

このステートメントは新しいデータ ファイルを追加する時かテーブルスペースからデータ ファイルをドロップする時に利用する事ができます。

ADD DATAFILE 異形では、size がバイトで計算され、INITIAL_SIZE 構文を利用して初期のサイズを指定する事が要求されます。my.cnf で利用されている物と同様、大きさによって一文字の省略形を持つ整数値に従う事もできます。通常これは M (メガ バイト) か G (ギガ バイト)のどちらかの文字です。

一度データ ファイルが作成されると、そのサイズは変更できませんが、追加の ALTER TABLESPACE ... ADD DATAFILE ステートメントを利用する事によりテーブルスペースにより多くのデータ ファイルを追加する事ができます。

DROP DATAFILE を ALTER TABLESPACE と共に利用する事で、テーブルスペースから 'file' をドロップする事ができます。このファイルは CREATE TABLESPACE か ALTER TABLESPACE を利用してテーブルスペースに既に追加されていなければいけません。そうでなければエラーが発生します。

ALTER TABLESPACE ... ADD DATAFILE と ALTER TABLESPACE ... DROP DATAFILE の2つは、テーブルスペースに利用されるストレージ エンジンを指定する ENGINE 条項を必要とします。MySQL 5.1では、engine に受け入れられる値は NDB と NDBCLUSTER だけです。

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)

詳しくはこちらをを参照してください。項21.21. 「INFORMATION_SCHEMA FILES テーブル」

MySQL 5.1.6 では ALTER TABLESPACE が追加されました。MySQL 5.1 では MySQL クラスタの ディスク データ ストレージと一緒の時のみ利用する事ができます。詳しくは 項14.11. 「MySQL Cluster ディスク データ ストレージ」 を参照してください。

Copyright © 1997, 2010, Oracle and/or its affiliates. All rights reserved. Legal Notices
Top / Previous / Next / Up / Table of Contents
© 2010, Oracle Corporation and/or its affiliates