Sql:避免在大表上插入重复记录(哈希索引)

时间:2016-03-11 13:25:47

标签: sql sql-server indexing duplicates hashtable

我有一个带有SQL Server的数据库:它存储来自某些传感器的测量结果,表格如下:

|MEASUREID|SensorID*|Temperature|Humidity|dateandTime|

MEASUREID PK (它是从SQL Server自动创建的integer。每个新记录+1)和SensorID FK 即可。 该表汇总了大量数据并且需要相对更新:更新意味着必须将新测量值插入到表中。

我们想要保存的措施可能已经存在于数据库中,我们不希望存储任何重复。

我想出的可能解决方案:

  • 每次检查一个措施是否已经存在都会导致死亡 表演
  • 我读到了索引。对于大人来说,他们应该非常高效 表,但同时在插入/更新操作经常发生时不建议使用它们。
  • 我想使用HASH函数和索引的组合:MeasureID可以是所谓的散列函数MID = f(sensID,temp,humid,dateandtime)的结果。 MID是唯一的,可以编入索引:如果必须插入新的度量(温度,湿度等),您可以检索哈希函数以生成相应的MID,并轻松检查该MID是否已存在。

你怎么看?你还有其他想法吗?谢谢:))

0 个答案:

没有答案