我有一张巨大的桌子,里面有 8 300 000 行(永远不会被编辑或删除)。
我的第一列看起来很相似P300-4312B_X16_S
,并且该条目不是唯一的,因此我在此字段上使用了常规 INDEX。
但是,MySQL 使用二进制字段而不是 varchar 更快,因此我将我的 INDEX 编码为 MD5BINARY(16)
用于存储数据。
今天早上,我第一次开始使用CRC32,我看到CRC32可以输出为8个字符的十六进制字符串。
我的问题:如果我使用 CRC32 而不是 MD5,它会更快。但是,当 CRC32 运行时,假设 2 000 000 个唯一值,结果将是唯一的,或者有时我会为两个不同的字符串提供两次相同的字符串?我这样问是因为结果只有 8 个字符 (32b) 长,而不是像 MD5 那样的 32(128b)。
谢谢。