У меня есть более 100 миллионов уникальных строк (VARCHAR (100) УНИКАЛЬНО в базе данных MySQL). Теперь я использую следующий код для создания уникального хеша из них (VARCHAR (32) UNIQUE), чтобы восстановить индексный индекс таблицы InnoDB (уникальный индекс на varchar (100) примерно в 3 раза больше, чем на поле varchar (32)).Python кратчайший уникальный идентификатор из строк
id = hashlib.md5(str).hexdigest()
Есть ли какой-либо другой способ создания более коротких идентификаторов из этих строк и обеспечения разумных гарантий уникальности?
SHA1? Обратите внимание, что вы можете сделать строки короче, используя базовую версию дайджеста, а не шестую: 'base64.b64encode (hashlib.md5 (« foo »). Digest())' –
Вы можете использовать BINARY (16), чтобы сохранить хэш MD5 без кодировки hex или base64. –