Учитывая слишком длинный столбец varchar в MySQL: рекомендуется ли хешировать строку и делать хеш-столбец уникальным? - PullRequest
0 голосов
/ 11 августа 2011

У меня есть столбец varchar, который слишком велик, чтобы сделать его уникальным.Можно ли хэшировать значение столбца и сохранять хеш в другом столбце varchar, который является уникальным?Являются ли они побочными эффектами этого подхода или есть даже лучший?

Дополнительная информация: я должен хранить длинные заголовки статей, книг и статей (самое длинное, что я нашел, пока не знаю, длиной 666 символов) в кодировке utf8.

1 Ответ

0 голосов
/ 11 августа 2011

Если вы можете, разделите автора на отдельный столбец. Сделайте индекс составным индексом по hash + author. Таким образом, даже если у вас есть коллизия хешей, автор должен различать. Если вы хотите быть еще более безопасным, вы можете добавить дату публикации в качестве третьего столбца

...