Приветствую.
На сайте потребовали сокращать некоторые ссылки.
Думаю как лучше хранить соответствие - алиас - полная ссылка.
Алиас - это то что будет в короткой ссылке:
сайт/алиас
сайт/UtG6W
, обычно в базе хранится строка регистронезависимо, и я думал бы так и оставить.
, но так я сокращаю число вариантов.
Просто если хотеть ссылки по короче, то может хранить в БД не алиас, а md5(алиас), или даже часть от этого md5.
p.s. Ссылок у меня будет не сильно много, хотелось бы короткие ссылки чтобы были покороче
> обычно в базе хранится строка регистронезависимо
Это где такое «обычно»?
Ну и вообще, в чём задача этих коротких ссылок? Например если люди должны их перепечатывать руками с рекламы в 5 метрах или (не дай бог) озвучивать по телефону, то лучше использовать только маленькие буквы, да ещё и выкинуть слишком похожие.
Вопрос с чувствительностью регистра решается переводом utf8 в utf8_bin. Также задай для поля флаг unique. Я даже проверил и это действительно работает так как надо. https://stackoverflow.com/a/6448861/17078920
Вообще сработает практически любое сравнение без _ci, которое и расшифровывается как case insensitive, внезапно.
И если эти короткие ссылки подразумевают ручной ввод, то лучше бы взять ascii, а не utf.