次の制限は,テーブルのユーザー定義パーティショニングでストレージエンジンを使用する際に適用されます。
合并ストレージエンジンユーザー定義パーティショニングと合并
ストレージエンジンは互換性を持ちません。合并
ストレージエンジンを使用するテーブルはパーティション化できません。パーティション化されたテーブルはマージできません。
联邦ストレージエンジン联邦
テーブルのパーティショニングはサポートされません。パーティション化された联邦
テーブルを作成することはできません。
CSVストレージエンジンCSV
ストレージエンジンを使用するパーティション化されたテーブルはサポートされません。パーティション化されたCSV
テーブルを作成することはできません。
InnoDBストレージエンジンInnoDB
外部キーとMySQLパーティショニングは互換性を持ちません。パーティション化されたInnoDB
テーブルは,外部キー参照を持つことができず,外部キーによって参照されるカラムを持つこともできません。外部キーを持っていたり,外部キーによって参照されたりするInnoDB
テーブルはパーティション化できません。
また,ALTER TABLE……优化分区
は,InnoDB
ストレージエンジンを使用するパーティション化されたテーブルで正しく動作しません。そのようなテーブルの場合は,代わりにALTER TABLE……重建分区
およびALTER TABLE……分析分区
を使用してください。詳細は,セクション13.1.7.1“ALTER TABLEパーティション操作“を参照してください。
NDBストレージエンジン(MySQL集群)关键
(线性关键
を含む)によるパーティショニングは,NDB
ストレージエンジンでサポートされる唯一のパーティショニングタイプです。MySQL集群NDB 7.3では,(线性
]关键
以外のパーティショニングタイプを使用してMySQL集群テーブルを作成することはできず,それを試みるとエラーで失敗します。
また,NDB
テーブルに定義できる最大パーティション数は,クラスター内のデータノードとノードグループの数,使用しているMySQL集群ソフトウェアのバージョン,およびその他の要因に依存します。詳細は,NDBとユーザー定義のパーティション化を参照してください。
ユーザーパーティション化されたNDB
テーブルが次の2つの要件のいずれかまたは両方を満たさなくなる创建表
ステートメントおよびALTER TABLE
ステートメントは許可されず,エラーで失敗します。
テーブルに明示的な主キーが存在する必要があります。
テーブルのパーティショニング式に指定されたすべてのカラムが主キーの一部である必要があります。
例外ユーザーパーティション化されたNDB
テーブルが空のカラムリストを使用して(つまり,分区键()
または按线性键划分
を使用して)作成された場合,明示的な主キーは必要ありません。
パーティション化されたテーブルをアップグレードするアップグレードを実行するときに,关键
によってパーティション化され,NDB
以外のストレージエンジンを使用するテーブルは,ダンプしてリロードする必要があります。
すべてのパーティションに同じストレージエンジンパーティション化されたテーブルのすべてのパーティションは,同じストレージエンジンを使用する必要があり,それがテーブルが全体として使用する同じストレージエンジンである必要があります。また,テーブルレベルでエンジンを指定しない場合は,パーティション化されたテーブルを作成または変更するときに次のいずれかを行う必要があります。
任意のパーティションまたはサブパーティションにエンジンを指定しない
すべてのパーティションまたはサブパーティションにエンジンを指定する