我正在(实验性地)做一个项目,我必须将来自多个数据集的数据合并到一个 SQL Server 2012 数据库中。这些数据集中的一些数据是重复的,我正在研究一种检测和删除重复项的方法。我当前的测试是对数据项进行散列并检查重复的散列。到目前为止,这似乎工作得很好(如果有哈希冲突,这不是世界末日)。
我将此哈希作为“二进制(32)”存储在数据库中,每当我需要插入新行(我实际上正在使用 MERGE)时,我都会查找哈希值,如果不是则仅插入成立。我在哈希列上有一个索引来帮助这个搜索。
我遇到的问题是索引总是非常分散,我确信这一定会不必要地减慢速度。我认为这是由于二进制数据的近乎随机性。
是否有任何索引选项可以用来限制这种碎片?目前我只是使用默认值。任何线索将不胜感激。
提前致谢。