Skip to content

元ドキュメント: MySQL 互換性

MySQL 互換性

TDSQL Boundless は MySQL 8.0 プロトコルおよび構文と高い互換性があります。MySQL エコシステムのシステムツール(phpMyAdmin、Navicat、MySQL Workbench、DBeaver など)やクライアントは、すべて TDSQL Boundless で使用可能です。

非サポート機能

以下の機能は現在サポートされていません:

  • システムデータベース mysql での DDL 実行の禁止
  • 生成列(Generated column)
  • イベント(Event)
  • テーブルスペース(Tablespace)、トランスポータブルテーブルスペースを含む
  • リソースグループ(Resource group)
  • 外部キー(Foreign keys)
  • LOB データ型の部分更新(Partial Update of LOB in InnoDB)
  • JSON データ型のマルチバリューインデックス(Multi-valued indexes)
  • 空間型の関数(GEOMETRY/GIS)、データ型、およびインデックス
  • 全文検索構文およびインデックス(Fulltext indexes)
  • 降順インデックス(Descending indexes)
  • REPAIR TABLE 構文
  • パーティション交換(ALTER TABLE ... EXCHANGE PARTITION)
  • SKIP LOCKED 構文
  • XA 関連の構文(成功を返しますが実際には機能しません)
  • グループレプリケーション(Group Replication)
  • X プロトコル(X Protocol)

MySQL との差異がある機能

オートインクリメント列

TDSQL Boundless は高パフォーマンスモードと MySQL 互換モードの2種類のオートインクリメント ID を提供します:

  • 高パフォーマンスモード:各対等ノードでオートインクリメント ID のバッチをキャッシュすることでパフォーマンスを向上。グローバルユニーク性は保証されますが、全ノード間での連番は保証されません。キャッシュのバッチサイズはパラメータ tdsql_auto_increment_batch_size で制御され、デフォルト値は100です。
  • MySQL 互換モード:システムパラメータ tdsql_auto_increment_batch_size を1に設定すると、グローバルユニークかつ単調増加するオートインクリメント値が保証されます。

警告:AUTO_INCREMENT 列の値の重複を防ぐため、独立した主キーまたはユニークインデックスとして定義する必要があります。複合主キーの一部としてのみ定義した場合、手動挿入された ID とシステム生成の ID が競合する可能性があります。

ストレージエンジン

TDSQL Boundless は RocksDB ストレージエンジンのテーブルのみの作成・使用をサポートします。ユーザーがテーブル作成時にどのストレージエンジンを指定しても、TDSQL は RocksDB エンジンに変換します。

注意:Blackhole エンジンは例外です。

文字セットと照合順序

TDSQL Boundless は MySQL 8.0.29 以前のデフォルト文字セット utf8mb3(UTF8)を踏襲しています。アプリケーションの互換性とポータビリティを向上させるため、テーブル作成時やデータベース接続確立時に明示的に文字セットを指定することを推奨します。

比較項目TDSQL BoundlessMySQL 8.0.29未満MySQL 8.0.29以上
デフォルト文字セットutf8mb3utf8mb3utf8mb4
デフォルト照合順序utf8_general_ciutf8_general_ciutf8mb4_0900_ai_ci

Tencent Cloud プロダクトドキュメント