InnoDBは、実際には768バイトのみをインデックスに許可します。また、UTF-8でエンコードされた文字列は1文字あたり3バイトを使用するため、この場合、インデックスで使用できる文字数は768/3文字のみであることに注意してください。
考えられる解決策は、インデックスで使用するフィールドの長さを制限することです。ただし、一意のインデックスも必要なため、それは受け入れられない解決策になる可能性があります。使用するフィールドの長さを制限するには、以下を使用してください。
CREATE UNIQUE INDEX `index_matches_on_foo_and_bar_id_and_baz_id` ON `matches` (`foo`(100), `bar_id`(100), `baz_id`(100))