Это зависит.
- Если эти строки в основном разные, не делайте ничего особенного.
- Вы можете получить небольшую экономию, сжав строки и используя
TINYBLOB
. Но хлопот не стоит. (Я приводил доводы в пользу таких больших строк. - Если много повторений, вы можете их "нормализовать". (Другая таблица с id + string; затем замените строковый столбец на ids.) A 2- байт
SMALLINT UNSIGNED
не будет переполнен до 65K.
Но ... Сделайте математику. Сколько вы можете сэкономить? Если это меньше 10%, одно из моих Правил гласит: не беспокойтесь ".
Имейте в виду, что большинство" решений "- это компромисс между скоростью и пространством.
Вы подразумеваете, что все они равны 32? Если они шестнадцатеричные или ascii, то используйте
CHAR(32) CHARACTER SET ascii
Затем используйте ascii_general_ci
(например, шестнадцатеричный) для складывания кейса или ascii_bin
для складывания не (например, base64).
(Примечание: если вы предоставите более подробную информацию Мне не нужно будет так много размахивать руками.)