1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【Amazon Aurora(MySQL互換)】テーブルの最大行サイズと最大キー長について

Last updated at Posted at 2020-07-26

Amazon Aurora(MySQL互換)のテーブルの最大行サイズと最大キー長に関するまとめです。
内容的にはほぼMySQLと共通。

環境

  • Amazon Aurora:2.08.1(MySQL5.7と互換性のあるもの)

    • 「開発/テスト」用
    • DBインスタンスサイズ:db.r5.large
    • ストレージエンジン:InnoDB
  • クライアントOS:Windows10

  • DB接続ツール:A5SQL:Mk2

1. テーブルの最大行サイズについて

  • 最大行サイズ:65535バイト(InnoDBのページサイズ16Kバイト(デフォルト)の場合)

    → 文字コード:utf8mb4の場合、16383文字が最大
  • BLOB型、TEXT型は上記の限りではない(別領域にデータを格納するため)

    → 例えば、一部のカラムをTEXT型で定義して50,000文字格納することも可能

2. 最大キー長について

  • 最大キー長(インデックスを構成するカラムサイズの合計の最大)はInnoDBのページサイズ
  • BLOB型、TEXT型はINDEXに指定できない(以下のようなエラーになる)

image.png

注意事項と対処法

Amazon Aurora(MySQL互換)では、対象DBに割り当てられている「DBのパラメータグループ」の「sql_mode」は「0(設定値なし)」になっています。
このままだと、テーブル定義、インデックス定義する際などに、暗黙的にデータ型が変更されてしまう場合があります。
デフォルトで割り当てられている「default.aurora-mysql5.7」は編集できないので、「DBのパラメータグループ」を新規作成して「sql_mode」を「STRICT_TRANS_TABLES」に変更→対象DBに割り当てます。
その後、対象のDBインスタンスを再起動して適用します。

参考

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?