1億を超える一意の文字列があります(MySQLデータベースのVARCHAR(100)UNIQUE)。次に、以下のコードを使用して、InnoDBテーブルのインデックスサイズを減らすために、それらから一意のハッシュ(VARCHAR(32)UNIQUE)を作成します(varchar(100)の一意のインデックスはvarchar(32)フィールドの約3倍です) )。
id = hashlib.md5(str).hexdigest()
それらの文字列からより短いIDを作成し、妥当な一意性を保証する他の方法はありますか?