このページは機械翻訳したものです。
CREATE [UNDO] TABLESPACE tablespace_name
  InnoDB and NDB:
    [ADD DATAFILE 'file_name']
    [AUTOEXTEND_SIZE [=] value]
  InnoDB only:
    [FILE_BLOCK_SIZE = value]
    [ENCRYPTION [=] {'Y' | 'N'}]
  NDB only:
    USE LOGFILE GROUP logfile_group
    [EXTENT_SIZE [=] extent_size]
    [INITIAL_SIZE [=] initial_size]
    [MAX_SIZE [=] max_size]
    [NODEGROUP [=] nodegroup_id]
    [WAIT]
    [COMMENT [=] 'string']
  InnoDB and NDB:
    [ENGINE [=] engine_name]
  Reserved for future use:
    [ENGINE_ATTRIBUTE [=] 'string']
      このステートメントは、テーブルスペースの作成に使用されます。 正確な構文とセマンティクスは、使用されるストレージエンジンによって異なります。 標準の MySQL リリースでは、これは常に InnoDB テーブルスペースです。 MySQL NDB Cluster は、NDB ストレージエンジンを使用したテーブルスペースもサポートしています。 
    
InnoDB に関する考慮事項
      CREATE TABLESPACE 構文は、一般的なテーブルスペースまたは undo テーブルスペースの作成に使用されます。 undo テーブルスペースを作成するには、MySQL 8.0.14 で導入された UNDO キーワードを指定する必要があります。 
    
一般的なテーブルスペースは共有テーブルスペースです。 複数のテーブルを保持でき、すべてのテーブルの行フォーマットをサポートします。 一般テーブルスペースは、データディレクトリに対して相対的または独立した場所に作成できます。
      InnoDB の一般テーブルスペースを作成した後、CREATE TABLE  または tbl_name ... TABLESPACE [=] tablespace_nameALTER TABLE  を使用してテーブルスペースにテーブルを追加します。 詳細は、セクション15.6.3.3「一般テーブルスペース」を参照してください。 
    tbl_name TABLESPACE [=] tablespace_name
undo テーブルスペースには undo ログが含まれます。 undo テーブルスペースは、完全修飾データファイルパスを指定することで、選択した場所に作成できます。 詳細は、セクション15.6.3.4「undo テーブルスペース」を参照してください。
NDB Cluster に関する考慮事項
      このステートメントは、テーブルスペースを作成するために使用します。このテーブルスペースには、「NDB Cluster ディスクデータ」テーブルの記憶領域を提供するデータファイルを 1 つ以上含めることができます (セクション23.5.10「NDB Cluster ディスクデータテーブル」 を参照)。 このステートメントを使用して 1 つのデータファイルが作成され、テーブルスペースに追加されます。 ALTER TABLESPACE ステートメントを使用して、テーブルスペースにデータファイルを追加できます (セクション13.1.10「ALTER TABLESPACE ステートメント」を参照してください)。 
    
NDB Cluster ディスクデータオブジェクトはすべて同じ名前空間を共有します。 つまり、各ディスクデータオブジェクトは (単に、特定の型の各ディスクデータオブジェクトというだけでなく)、一意の名前が付けられている必要があります。 たとえば、テーブルスペースとログファイルグループを同じ名前にしたり、テーブルスペースとデータファイルを同じ名前にしたりすることはできません。
      作成されるテーブルスペースには、USE LOGFILE GROUP 句を使用して、1 つ以上の UNDO ログファイルのログファイルグループを割り当てる必要があります。logfile_group は、CREATE LOGFILE GROUP で作成された既存のログファイルグループである必要があります (セクション13.1.16「CREATE LOGFILE GROUP ステートメント」を参照してください)。 複数のテーブルスペースが UNDO ロギングのために同じログファイルグループを使用できます。 
    
      EXTENT_SIZE または INITIAL_SIZE を設定する場合は、my.cnf で使用されているものと同様に、数値の後に一文字の略称を付けることもできます。 一般に、これは M (M バイト) または G (G バイト) のどちらかの文字です。 
    
      INITIAL_SIZE および EXTENT_SIZE は、次のように丸められます:
    
- EXTENT_SIZEは、最も近い 32K の倍数に切り上げられます。
- INITIAL_SIZEは、down を 32K の最も近い整数の倍数に丸めます。この結果は、- EXTENT_SIZEの最も近い整数の倍数に切り上げられます (丸め後)。
        NDB は、データノードの再起動操作のためにテーブルスペースの 4% を予約します。 この予約済領域は、データ記憶域には使用できません。 
      
      今説明した丸めは明示的に実行され、このような丸めのいずれかが実行された場合は MySQL Server によって警告が発行されます。 丸められた値はまた、INFORMATION_SCHEMA.FILES カラム値の計算やその他の目的のために、NDB カーネルでも使用されます。 ただし、予期しない結果が発生しないようにするために、これらのオプションの指定では常に 32K の整数倍を使用することをお勧めします。 
    
      CREATE TABLESPACE を ENGINE [=] NDB とともに使用すると、各クラスタデータノードにテーブルスペースおよび関連するデータファイルが作成されます。 INFORMATION_SCHEMA.FILES テーブルをクエリーすることによって、データファイルが作成されたことを確認したり、それらに関する情報を取得したりできます。 (このセクションの後半の例を参照してください。) 
    
(セクション26.15「INFORMATION_SCHEMA FILES テーブル」を参照してください。)
オプション
- 
ADD DATAFILE: テーブルスペースデータファイルの名前を定義します。 このオプションは、NDBテーブルスペースを作成する場合は常に必要です。MySQL 8.0.14 以降のInnoDBの場合は、undo テーブルスペースを作成する場合にのみ必要です。 指定したパスを含むfile_nameInnoDBとNDBによるデータファイルの処理方法にはかなりの違いがあるため、次の説明では 2 つのストレージエンジンについて個別に説明します。InnoDB データファイル. InnoDBテーブルスペースでは単一のデータファイルのみがサポートされ、その名前には.ibd拡張子が含まれている必要があります。InnoDB一般テーブルスペースデータファイルをデータディレクトリ外の場所に配置するには、データディレクトリに対する完全修飾パスまたは相対パスを含めます。 undo テーブルスペースには、完全修飾パスのみが許可されます。 パスを指定しない場合、データディレクトリに一般テーブルスペースが作成されます。 パスを指定せずに作成された undo テーブルスペースは、innodb_undo_directory変数で定義されたディレクトリに作成されます。innodb_undo_directory変数が定義されていない場合、undo テーブルスペースはデータディレクトリに作成されます。暗黙的に作成された file-per-table テーブルスペースとの競合を回避するために、データディレクトリの下のサブディレクトリに InnoDB一般テーブルスペースを作成することはサポートされていません。 データディレクトリ外に一般的なテーブルスペースまたは undo テーブルスペースを作成する場合、そのディレクトリが存在し、テーブルスペースを作成する前にInnoDBで認識されている必要があります。 ディレクトリをInnoDBで認識できるようにするには、innodb_directories値またはinnodb_directories値に値が追加される変数のいずれかにディレクトリを追加します。innodb_directoriesは読取り専用変数です。 構成するには、サーバーを再起動する必要があります。InnoDBテーブルスペースの作成時にADD DATAFILE句が指定されていない場合、一意のファイル名を持つテーブルスペースデータファイルが暗黙的に作成されます。 一意のファイル名は、ダッシュ (aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee) で区切られた 16 進数の 5 つのグループにフォーマットされた 128 ビット UUID です。 ストレージエンジンで必要な場合は、ファイル拡張子が追加されます。.ibdファイル拡張子がInnoDB一般テーブルスペースデータファイルに追加されます。 レプリケーション環境では、レプリケーションソースサーバーに作成されたデータファイル名は、レプリカに作成されたデータファイル名と同じではありません。MySQL 8.0.17 では、 InnoDBテーブルスペースの作成時にADD DATAFILE句で循環ディレクトリ参照は許可されません。 たとえば、次のステートメントの循環ディレクトリ参照 (/../) は使用できません:CREATE TABLESPACE ts1 ADD DATAFILE ts1.ibd 'any_directory/../ts1.ibd';この制限の例外は Linux に存在し、前述のディレクトリがシンボリックリンクの場合は循環ディレクトリ参照が許可されます。 たとえば、 any_directoryがシンボリックリンクの場合、前述の例のデータファイルパスは許可されます。 (データファイルパスを'../'で始めることはできます。)NDB データファイル. NDBテーブルスペースでは、任意の有効なファイル名を持つことができる複数のデータファイルがサポートされています。ALTER TABLESPACEステートメントを使用して、作成後に「NDB Cluster」テーブルスペースにデータファイルを追加できます。NDBテーブルスペースデータファイルは、デフォルトでデータノードファイルシステムディレクトリ、つまりデータノードデータディレクトリ (DataDir) の下のndb_という名前のディレクトリに作成されます。nodeid_fs/TSnodeidはデータノードNodeIdです。 データファイルをデフォルト以外の場所に配置するには、絶対ディレクトリパスまたはデフォルトの場所に対する相対パスを含めます。 指定されたディレクトリが存在しない場合、NDBはそれを作成しようとします。そのためには、データノードプロセスが実行されているシステムユーザーアカウントに適切なアクセス権が必要です。注記データファイルに使用されるパスを決定する際、 NDBは~(チルダ) 文字を拡張しません。複数のデータノードが同じ物理ホスト上で実行されている場合は、次の考慮事項が適用されます: - データファイルの作成時に絶対パスを指定することはできません。 
- 各データノードに個別のデータディレクトリがないかぎり、データノードファイルシステムのディレクトリ外にテーブルスペースデータファイルを作成することはできません。 
- 各データノードに独自のデータディレクトリがある場合は、このディレクトリ内の任意の場所にデータファイルを作成できます。 
- 各データノードに独自のデータディレクトリがある場合は、そのホスト上で実行されている各データノードのホストファイルシステム上の一意の場所に解決されるかぎり、相対パスを使用してノードデータディレクトリ外にデータファイルを作成することもできます。 
 
- 
FILE_BLOCK_SIZE: このオプションはInnoDBの一般的なテーブルスペースに固有で、NDBによって無視され、テーブルスペースデータファイルのブロックサイズが定義されます。 値はバイト単位または KB 単位で指定できます。 たとえば、8K バイトのファイルブロックサイズは 8192 または 8K と指定できます。 このオプションを指定しない場合、FILE_BLOCK_SIZEはデフォルトでinnodb_page_size値に設定されます。FILE_BLOCK_SIZEは、圧縮されたInnoDBテーブル (ROW_FORMAT=COMPRESSED) の格納にテーブルスペースを使用する場合に必要です。 この場合、テーブルスペースの作成時にテーブルスペースFILE_BLOCK_SIZEを定義する必要があります。FILE_BLOCK_SIZEがinnodb_page_size値と等しい場合、テーブルスペースには、圧縮されていない行形式 (COMPACT、REDUNDANTおよびDYNAMIC) を持つテーブルのみを含めることができます。COMPRESSED行形式のテーブルの物理ページサイズは、圧縮されていないテーブルとは異なります。 したがって、圧縮されたテーブルは、圧縮されていないテーブルと同じテーブルスペースに共存できません。一般的なテーブルスペースに圧縮テーブルを含めるには、 FILE_BLOCK_SIZEを指定する必要があり、FILE_BLOCK_SIZE値はinnodb_page_size値との関連で有効な圧縮ページサイズである必要があります。 また、圧縮テーブル (KEY_BLOCK_SIZE) の物理ページサイズはFILE_BLOCK_SIZE/1024と同じである必要があります。 たとえば、innodb_page_size=16KおよびFILE_BLOCK_SIZE=8Kの場合、テーブルのKEY_BLOCK_SIZEは 8 である必要があります。 詳細は、セクション15.6.3.3「一般テーブルスペース」を参照してください。
- USE LOGFILE GROUP:- NDBに必要です。これは、- CREATE LOGFILE GROUPを使用して以前に作成されたログファイルグループの名前です。- InnoDBではサポートされていません。エラーで失敗します。
- 
EXTENT_SIZE: このオプションは NDB に固有であり、エラーで失敗する InnoDB ではサポートされていません。EXTENT_SIZEでは、テーブルスペースに属するすべてのファイルで使用されるエクステントのサイズがバイト単位で設定されます。 デフォルト値は 1M です。 最小サイズは 32K であり、理論的な最大サイズは 2G です。ただし、実際的な最大サイズはいくつかの要因によって異なります。 ほとんどの場合は、エクステントサイズを変更してもパフォーマンスに測定可能な影響を与えることはないため、特別な状況を除き、常にデフォルト値を使用することをお勧めします。エクステントは、ディスク領域の割り当ての単位です。 1 つのエクステントが、そのエクステントに収容できる量のデータでいっぱいになってから、別のエクステントが使用されます。 理論上は、データファイルあたり最大 65,535 (64K) 個のエクステントを使用できます。ただし、推奨される最大数は 32,768 (32K) です。 1 つのデータファイルの推奨される最大サイズは 32G (つまり、32K 個のエクステント × エクステントあたり 1M バイト) です。 さらに、エクステントを特定のパーティションに割り当てたあと、そのエクステントを使用して別のパーティションのデータを格納することはできません。エクステントには、複数のパーティションのデータを格納できません。 これは、たとえば、 INITIAL_SIZE(次の項目を参照) が 256 MB で、EXTENT_SIZEが 128M の単一のデータファイルを持つテーブルスペースにはエクステントが 2 つしかないため、最大 2 つの異なるディスクデータテーブルパーティションのデータを格納するために使用できることを意味します。INFORMATION_SCHEMA.FILESテーブルをクエリーすることによって、特定のデータファイルに未使用のまま残っているエクステントの数を確認できるため、ファイル内の空き容量の概算値を導き出すことができます。 それ以上の説明および例については、セクション26.15「INFORMATION_SCHEMA FILES テーブル」を参照してください。
- 
INITIAL_SIZE: このオプションはNDBに固有であり、InnoDBではサポートされていません。エラーが発生して失敗します。INITIAL_SIZEパラメータは、ADD DATATFILEを使用して特定されたデータファイルの合計サイズをバイト単位で設定します。 このファイルが作成されると、そのサイズは変更できませんが、ALTER TABLESPACE ... ADD DATAFILEを使用してテーブルスペースにデータファイルを追加できます。INITIAL_SIZEはオプションです。そのデフォルト値は 134217728 (128M バイト) です。32 ビットシステム上では、 INITIAL_SIZEのサポートされる最大値は 4294967296 (4G バイト) です。
- 
AUTOEXTEND_SIZE: MySQL 8.0.23 より前の MySQL では無視されます。MySQL 8.0.23 から、テーブルスペースが一杯になったときにInnoDBがテーブルスペースのサイズを拡張する量を定義します。 設定は 4MB の倍数である必要があります。 デフォルト設定は 0 で、暗黙的なデフォルト動作に従ってテーブルスペースが拡張されます。 詳細は、セクション15.6.3.9「テーブルスペースの AUTOEXTEND_SIZE 構成」を参照してください。使用しているストレージエンジンに関係なく、MySQL NDB Cluster 8.0 のどのリリースにも影響はありません。 
- MAX_SIZE: 現在、MySQL では無視されます。将来の使用のために予約されています。 使用されているストレージエンジンに関係なく、MySQL 8.0 または MySQL NDB Cluster 8.0 のどのリリースにも影響しません。
- NODEGROUP: 現在、MySQL では無視されます。将来の使用のために予約されています。 使用されているストレージエンジンに関係なく、MySQL 8.0 または MySQL NDB Cluster 8.0 のどのリリースにも影響しません。
- WAIT: 現在、MySQL では無視されます。将来の使用のために予約されています。 使用されているストレージエンジンに関係なく、MySQL 8.0 または MySQL NDB Cluster 8.0 のどのリリースにも影響しません。
- COMMENT: 現在、MySQL では無視されます。将来の使用のために予約されています。 使用されているストレージエンジンに関係なく、MySQL 8.0 または MySQL NDB Cluster 8.0 のどのリリースにも影響しません。
- 
ENCRYPTION句は、InnoDB一般テーブルスペースのページレベルのデータ暗号化を有効または無効にします。 一般テーブルスペースの暗号化サポートは、MySQL 8.0.13 で導入されました。MySQL 8.0.16 では、 ENCRYPTION句が指定されていない場合、default_table_encryption設定によって暗号化を有効にするかどうかが制御されます。ENCRYPTION句は、default_table_encryption設定をオーバーライドします。 ただし、table_encryption_privilege_check変数が有効になっている場合、default_table_encryption設定とは異なるENCRYPTION句設定を使用するには、TABLE_ENCRYPTION_ADMIN権限が必要です。暗号化対応のテーブルスペースを作成する前に、キープラグインをインストールして構成する必要があります。 一般的なテーブルスペースが暗号化されると、テーブルスペースに存在するすべてのテーブルが暗号化されます。 同様に、暗号化されたテーブルスペースに作成されたテーブルも暗号化されます。 詳細は、セクション15.13「InnoDB 保存データ暗号化」を参照してください 
- ENGINE: テーブルスペースを使用するストレージエンジンを定義します。ここで、- engine_nameはストレージエンジンの名前です。 現在、標準の MySQL 8.0 リリースでは、- InnoDBストレージエンジンのみがサポートされています。 MySQL NDB Cluster は、- NDBと- InnoDBの両方のテーブルスペースをサポートしています。 このオプションが指定されていない場合、- default_storage_engineシステム変数の値が- ENGINEに使用されます。
- 
ENGINE_ATTRIBUTEオプション (MySQL 8.0.21 の時点で使用可能) を使用して、プライマリストレージエンジンのテーブルスペース属性を指定します。 このオプションは、将来の使用のために予約されています。許可される値は、有効な JSONドキュメントまたは空の文字列 ('') を含む文字列リテラルです。 無効なJSONが拒否されました。CREATE TABLESPACE ts1 ENGINE_ATTRIBUTE='{"key":"value"}';ENGINE_ATTRIBUTEの値は、エラーなしで繰り返すことができます。 この場合、最後に指定した値が使用されます。ENGINE_ATTRIBUTE値はサーバーによってチェックされず、テーブルストレージエンジンが変更されたときにもクリアされません。
メモ
- MySQL テーブルスペースのネーミングに関するルールは、セクション9.2「スキーマオブジェクト名」 を参照してください。 この接頭辞はシステムで使用するために予約されているため、これらのルールに加えて、スラッシュ文字 (「/」) も使用できず、 - innodb_で始まる名前も使用できません。
- 一時一般テーブルスペースの作成はサポートされていません。 
- 一般テーブルスペースでは、一時テーブルはサポートされていません。 
- TABLESPACEオプションを- CREATE TABLEまたは- ALTER TABLEとともに使用して、- InnoDBテーブルパーティションまたはサブパーティションを file-per-table テーブルスペースに割り当てることができます。 すべてのパーティションは同じストレージエンジンに属している必要があります。 共有- InnoDBテーブルスペースへのテーブルパーティションの割当てはサポートされていません。 共有テーブルスペースには、- InnoDBシステムテーブルスペースおよび一般テーブルスペースが含まれます。
- 一般テーブルスペースでは、 - CREATE TABLE ... TABLESPACEを使用した行形式のテーブルの追加がサポートされています。- innodb_file_per_tableを有効にする必要はありません。
- innodb_strict_modeは、一般的なテーブルスペースには適用できません。 テーブルスペース管理ルールは、- innodb_strict_modeとは無関係に厳密に適用されます。- CREATE TABLESPACEパラメータが正しくないか、互換性がない場合、- innodb_strict_modeの設定に関係なく操作は失敗します。- CREATE TABLE ... TABLESPACEまたは- ALTER TABLE ... TABLESPACEを使用してテーブルを一般テーブルスペースに追加すると、- innodb_strict_modeは無視されますが、このステートメントは- innodb_strict_modeが有効になっているかのように評価されます。
- DROP TABLESPACEを使用して、テーブルスペースを削除します。 テーブルスペースを削除する前に、- DROP TABLEを使用してテーブルスペースからすべてのテーブルを削除する必要があります。 「NDB Cluster」テーブルスペースを削除する前に、1 つ以上の- ALTER TABLESPACE ... DROP DATATFILEステートメントを使用してすべてのデータファイルを削除する必要もあります。 セクション23.5.10.1「NDB Cluster ディスクデータオブジェクト」を参照してください。
- 
InnoDB一般テーブルスペースに追加されたInnoDBテーブルのすべての部分は、インデックスやBLOBページなどの一般テーブルスペースに存在します。テーブルスペースに割り当てられた NDBテーブルの場合、インデックス付けされていないカラムのみがディスクに格納され、実際にはテーブルスペースデータファイルが使用されます。 すべてのNDBテーブルのインデックスおよびインデックス付けされたカラムは、常にメモリーに保持されます。
- システムテーブルスペースと同様に、一般テーブルスペースに格納されているテーブルの切捨てまたは削除によって、新しい - InnoDBデータにのみ使用できる空き領域が一般テーブルスペース .ibd data file に内部的に作成されます。 file-per-table テーブルスペース用であるため、領域はオペレーティングシステムに解放されません。
- 一般テーブルスペースは、どのデータベースまたはスキーマにも関連付けられていません。 
- ALTER TABLE ... DISCARD TABLESPACEおよび- ALTER TABLE ...IMPORT TABLESPACEは、一般テーブルスペースに属するテーブルではサポートされていません。
- サーバーは、一般的なテーブルスペースを参照する DDL に対してテーブルスペースレベルのメタデータロックを使用します。 比較すると、サーバーは file-per-table テーブルスペースを参照する DDL に対してテーブルレベルのメタデータロックを使用します。 
- 生成されたテーブルスペースまたは既存のテーブルスペースを一般テーブルスペースに変更することはできません。 
- 一般的なテーブルスペース名と file-per-table テーブルスペース名の間に競合はありません。 file-per-table テーブルスペース名に存在する「/」文字は、一般的なテーブルスペース名では使用できません。 
- mysqldump および mysqlpump は、 - InnoDB- CREATE TABLESPACEステートメントをダンプしません。
InnoDB の例
この例では、一般的なテーブルスペースを作成し、異なる行形式の 3 つの非圧縮テーブルを追加する方法を示します。
mysql> CREATE TABLESPACE `ts1` ADD DATAFILE 'ts1.ibd' ENGINE=INNODB;
mysql> CREATE TABLE t1 (c1 INT PRIMARY KEY) TABLESPACE ts1 ROW_FORMAT=REDUNDANT;
mysql> CREATE TABLE t2 (c1 INT PRIMARY KEY) TABLESPACE ts1 ROW_FORMAT=COMPACT;
mysql> CREATE TABLE t3 (c1 INT PRIMARY KEY) TABLESPACE ts1 ROW_FORMAT=DYNAMIC;
      この例では、一般的なテーブルスペースを作成し、圧縮テーブルを追加する方法を示します。 この例では、デフォルトの innodb_page_size 値が 16K であると想定しています。 8192 の FILE_BLOCK_SIZE では、圧縮テーブルの KEY_BLOCK_SIZE が 8 である必要があります。 
    
mysql> CREATE TABLESPACE `ts2` ADD DATAFILE 'ts2.ibd' FILE_BLOCK_SIZE = 8192 Engine=InnoDB;
mysql> CREATE TABLE t4 (c1 INT PRIMARY KEY) TABLESPACE ts2 ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=8;
      この例では、MySQL 8.0.14 の時点でオプションの ADD DATAFILE 句を指定せずに一般的なテーブルスペースを作成する方法を示します。
    
mysql> CREATE TABLESPACE `ts3` ENGINE=INNODB;この例では、undo テーブルスペースの作成方法を示します。
mysql> CREATE UNDO TABLESPACE undo_003 ADD DATAFILE 'undo_003.ibu';NDB の例
      mydata-1.dat という名前のデータファイルを使用して、myts という名前の「NDB Cluster ディスクデータ」テーブルスペースを作成するとします。 NDB テーブルスペースでは、常に 1 つ以上の undo ログファイルで構成されるログファイルグループを使用する必要があります。 この例では、まず、次に示す CREATE LOGFILE GROUP ステートメントを使用して、myundo-1.dat という名前の undo ログファイルを含む mylg という名前のログファイルグループを作成します: 
    
mysql> CREATE LOGFILE GROUP myg1
    ->     ADD UNDOFILE 'myundo-1.dat'
    ->     ENGINE=NDB;
Query OK, 0 rows affected (3.29 sec)これで、次のステートメントを使用して、前述のテーブルスペースを作成できます:
mysql> CREATE TABLESPACE myts
    ->     ADD DATAFILE 'mydata-1.dat'
    ->     USE LOGFILE GROUP mylg
    ->     ENGINE=NDB;
Query OK, 0 rows affected (2.98 sec)
      次に示すように、TABLESPACE および STORAGE DISK オプションを指定した CREATE TABLE ステートメントを使用して、「ディスクデータ」テーブルを作成できるようになりました:
    
mysql> CREATE TABLE mytable (
    ->     id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
    ->     lname VARCHAR(50) NOT NULL,
    ->     fname VARCHAR(50) NOT NULL,
    ->     dob DATE NOT NULL,
    ->     joined DATE NOT NULL,
    ->     INDEX(last_name, first_name)
    -> )
    ->     TABLESPACE myts STORAGE DISK
    ->     ENGINE=NDB;
Query OK, 0 rows affected (1.41 sec)
      id、lname および fname カラムはすべてインデックス付けされているため、実際には mytable の dob および joined カラムのみがディスクに格納されることに注意してください。
    
      前述のように、CREATE TABLESPACE を ENGINE [=] NDB とともに使用すると、テーブルスペースおよび関連するデータファイルが NDB Cluster データノードごとに作成されます。 次に示すように、INFORMATION_SCHEMA.FILES テーブルをクエリーして、データファイルが作成されたことを確認し、その情報を取得できます: 
    
mysql> SELECT FILE_NAME, FILE_TYPE, LOGFILE_GROUP_NAME, STATUS, EXTRA
    ->     FROM INFORMATION_SCHEMA.FILES
    ->     WHERE TABLESPACE_NAME = 'myts';
+--------------+------------+--------------------+--------+----------------+
| file_name    | file_type  | logfile_group_name | status | extra          |
+--------------+------------+--------------------+--------+----------------+
| mydata-1.dat | DATAFILE   | mylg               | NORMAL | CLUSTER_NODE=5 |
| mydata-1.dat | DATAFILE   | mylg               | NORMAL | CLUSTER_NODE=6 |
| NULL         | TABLESPACE | mylg               | NORMAL | NULL           |
+--------------+------------+--------------------+--------+----------------+
3 rows in set (0.01 sec)追加情報および例については、セクション23.5.10.1「NDB Cluster ディスクデータオブジェクト」を参照してください。