CREATE TABLESPACEtablespace_nameADD 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
        このステートメントは、テーブルに格納スペースを提供しながら
        1
        つ、または複数のデータファイルを含むことができるテーブル領域を作成するために利用されます。1
        つのデータファイルはこのステートメントを利用してテーブル領域に作成、または追加されます。ALTER
        TABLESPACE
        ステートメントを利用してテーブル領域にデータファイルを追加することができます。項8.1.8. 「ALTER TABLESPACE 構文」
        を参照してください)。テーブル領域の命名を管理する規則については、項5.2. 「スキーマオブジェクト名」
        を参照してください。
      
すべての MySQL Cluster ディスクデータオブジェクトが同じ名前空間を共有します。つまり、各ディスクデータオブジェクトは (単に、特定の型の各ディスクデータオブジェクトというだけでなく) 一意に名前が付けられている必要があります。たとえば、テーブル領域とログファイルグループを同じ名前にしたり、テーブル領域とデータファイルを同じ名前にしたりすることはできません。
MySQL Cluster NDB 6.2.17、6.3.23、および 6.4.3 より前のバージョンでは、データファイルのパスとファイル名を 128 文字より長くすることができませんでした。(Bug#31770)
        1 つ、または複数の
        UNDO
        ログファイルのログファイルグループは
        USE LOGFILE GROUP
        節を利用して作成するためにテーブル領域に割り当てる必要があります。logfile_group
        は CREATE LOGFILE GROUP
        で作成した既存在ログファイルグループでなければいけません。項8.1.14. 「CREATE LOGFILE GROUP 構文」
        を参照してください)。複数のテーブル領域は
        UNDO
        ロギングに同じログファイルグループを利用するでしょう。
      
        EXTENT_SIZE
        は、テーブル領域に属するすべてのファイルに利用される範囲で、サイズをバイトで設定します。デフォルト値は
        1M です。最小サイズは 32K
        であり、理論的な最大サイズは 2G
        です。ただし、実際的な最大サイズはいくつかの要因によって異なります。ほとんどの場合は、エクステントサイズを変更してもパフォーマンスに測定可能な影響を与えることはないため、特別な状況を除き、常にデフォルト値を使用することをお勧めします。
      
        extent
        はディスクスペース割り当てのユニットです。1
        つの範囲は、別の範囲が利用されるまで、可能なかぎりのできるだけ多くのデータで満たされます。理論上は、データファイルあたり最大
        65,535 (64K)
        個のエクステントを使用できます。ただし、推奨される最大数は
        32,768 (32K) です。1
        つのデータファイルの推奨される最大サイズは
        32G (つまり、32K
        個のエクステント×エクステントあたり 1MB)
        です。さらに、エクステントを特定のパーティションに割り当てたあと、そのエクステントを使用して別のパーティションのデータを格納することはできません。エクステントには、複数のパーティションのデータを格納できません。つまり、たとえば、INITIAL_SIZE
        が 256 M
        バイトで、EXTENT_SIZE
        が 128M である 1
        つのデータファイルを含むテーブル領域にはエクステントが
        2
        つしか存在しないため、このテーブル領域を使用して最大
        2
        つの異なるディスクデータテーブルパーティションのデータを格納できます。
      
        INFORMATION_SCHEMA.FILES
        テーブルをクエリーすることによって、特定のデータファイルに未使用のまま残っているエクステントの数を確認できるため、ファイル内の空き容量の概算値を導き出すことができます。更なる情報や例に関しては、The INFORMATION_SCHEMA FILES Table
        を参照してください。
      
        INITIAL_SIZE
        パラメータはデータファイルの合計サイズをバイトで設定します。一度データファイルが作成されると、そのサイズは変更できませんが、追加の
        ALTER TABLESPACE ... ADD
        DATAFILE
        を利用することによりテーブル領域により多くのデータファイルを追加することができます。項8.1.8. 「ALTER TABLESPACE 構文」
        を参照してください。
      
        INITIAL_SIZE
        はオプションです。そのデフォルト値は
        128M です。
      
        32
        ビットシステムでは、INITIAL_SIZE
        のサポートされる最大値は
        4G です。(Bug#29186)
      
        EXTENT_SIZE や
        INITIAL_SIZE
        を設定するとき
        (片方、または両方)、my.cnf
        で利用されているものと同様、大きさによって一文字の省略形を持つ数字に従うこともできます。通常これは
        M (メガバイト) か
        G (ギガバイト)
        のどちらかの文字です。
      
        AUTOEXTEND_SIZE、MAX_SIZE、NODEGROUP、WAIT、および
        COMMENT
        は解析されますが、無視されます。そのため、MySQL
        5.1
        には影響しません。これらのオプションは、将来の拡張のために用意されています。
      
        ENGINE
        パラメータによって、このテーブル領域で使用されるストレージエンジンが決定され、ストレージエンジンの名前が
        engine_name になります。MySQL
        5.1 では、engine_name は
        NDB または
        NDBCLUSTER
        のどちらかの値である必要があります。
      
        CREATE TABLESPACE ... ADD
        DATAFILE が 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)
        (詳しくは The INFORMATION_SCHEMA FILES Table
        を参照してください。)
      
        CREATE TABLESPACE は、MySQL
        5.1.6 で追加されました。MySQL 5.1 では、MySQL
        Cluster
        のディスクデータストレージで使用する場合のみ有効です。MySQL Cluster Disk Data Tables
        を参照してください。
      

