我必须将数百万个128位哈希值存储到数据库中,我正在努力完成我的表设计。
我应该在两个BIGINT字段中存储哈希还是只使用BINARY(16)?我的典型用例是根据哈希查找重复记录。
我可以使用(有两个bigint)
select * from hash where hash1=@hash1 and hash2=@hash2
或(二进制(16)列)
select * from hash where hash=@hash
明智的表现是否重要?
我正在使用MS SQL Server,但我认为这不重要。但是,我从C#程序访问MS SQL并且易于读/写值是首选,但不是交易破坏者。目前我有一个ulong阵列。
答案 0 :(得分:0)
你可能会以任何一种方式进行全表扫描,对我来说,使用二进制或varbinary似乎更有意义,并且只有一列的索引。