我有两个非常大的表,包含数百万个条目,它们包含类似的记录。因此,TableA可能具有与TableB不同的列结构来存储相同的数据,但TableA和TableB都包含用于记录的唯一指纹的列。找出TableA和TableB中包含相同指纹的常用条目的最佳方法是什么?这里有几次问过类似的问题,但这里有一个变化。
说,我将公共条目的pk存储在TableC(pk_a, pk_b, fingerprint)
中,它表示TableA和TableB中的公共元组。现在,只要在TableA或TableB中添加/删除记录,就需要更新TableC。
我对第一部分的解决方案是将TableA和TableB的连接与指纹相同并将其添加到TableC。
对于第二部分,查询TableC以获取类似指纹,然后在找到任何匹配项时更新TableC。如果未找到匹配项,则扫描表B(说记录已添加到TableB)以获取指纹,然后更新TableC。
但这非常直观且天真。我觉得可以用更好的方式完成。
有人想过吗?
答案 0 :(得分:0)
首先我会告诉你我是如何看待这个问题的:
(* 1)如果您可以通过更改不属于PK的属性来更改您的记录,那么您的模型是错误的。