TiDB の制限
このドキュメントでは、識別子の最大長や、サポートされるデータベース、テーブル、インデックス、パーティション テーブル、シーケンスの最大数など、TiDB の一般的な使用上の制限について説明します。
注記:
TiDBはMySQLのプロトコルおよび構文と高い互換性を備えていますが、MySQLの多くの制限事項も含まれています。例えば、1つのインデックスには最大16列まで含めることができます。詳細については、 MySQLの互換性およびMySQLの公式ドキュメントをご覧ください。
識別子の長さの制限
| 識別子の種類 | 最大長(許容文字数) |
|---|---|
| データベース | 64 |
| テーブル | 64 |
| カラム | 64 |
| 索引 | 64 |
| ビュー | 64 |
| シーケンス | 64 |
データベース、テーブル、ビュー、接続の合計数の制限
| タイプ | 最大数 |
|---|---|
| データベース | 無制限 |
| テーブル | 無制限 |
| ビュー | 無制限 |
| 接続 | 無制限 |
単一データベースの制限
| タイプ | 上限 |
|---|---|
| テーブル | 無制限 |
単一テーブルの制限
| タイプ | 上限(デフォルト値) |
|---|---|
| 列 | デフォルトは1017で、最大4096まで調整できます。 |
| インデックス | デフォルトは64で、最大512まで調整可能 |
| 行 | 無制限 |
| サイズ | 無制限 |
| パーティション | 8192 |
- 上限値
Columnsはtable-column-count-limitで変更できます。 - 上限値
Indexesはindex-limitで変更できます。
1行の制限
| タイプ | 上限(デフォルト値) |
|---|---|
| サイズ | デフォルトは6 MiBですが、120 MiBまで調整可能です。 |
txn-entry-size-limit構成項目を介してサイズ制限を調整できます。
インデックスの制限
インデックスの最大長は3072バイトで、4バイトUTF-8エンコードでは768文字に相当します。1つのインデックスに含まれる列の最大数は16に制限されています。
この制限は、 max-index-length構成項目を使用して調整できます。
データ型の制限
| タイプ | 上限 |
|---|---|
| チャー | 255文字 |
| バイナリ | 255バイト |
| VARBINARY | 65535バイト |
| ヴァルチャー | 16383文字 |
| TEXT | 65535バイト |
| ブロブ | 65535バイト |
SQL文の制限
| タイプ | 上限 |
|---|---|
| 単一トランザクション内のSQL文の最大数 | 楽観的トランザクションを使用し、トランザクション再試行が有効になっている場合、上限は 5000 です。 |
stmt-count-limit構成項目を介して制限を変更できます。
TiKVバージョンの制限
クラスター内の TiDBコンポーネントのバージョンが v6.2.0 以降の場合、TiKV のバージョンも v6.2.0 以降である必要があります。