文字列型カラム(varchar型やchar型など)に対してインデックスを作成する場合に最大キー長があり、それはバイト数で管理されています。今回はいくつかのオプションやパラメータが、InnoDBのインデックスの最大キー長に対してどのように影響するかを紹介します。 InnoDBのファイルフォーマットによるインデックスの最大キー長の違い 基本的には単一カラムインデックスの最大キー長は767バイトまで作成できます。特定の条件ではインデックスの最大キー長を3072バイトまで拡張することができます。その条件は以下のとおりです。 テーブル作成時に行フォーマットをDYNAMICまたはCOMPRESSEDに指定する。 innodb_file_per_tableパラメータをONに設定して、テーブルデータを個別のibdファイルに格納するようにする。 innodb_large_prefixパラメータを有効にする。