我正在使用 postgres 重复数据删除示例代码。对于 10,000 行,它消耗 163 秒。我发现这部分大部分时间都在消耗:
full_data = []
cluster_membership = collections.defaultdict(lambda : 'x')
for cluster_id, (cluster, score) in enumerate(clustered_dupes):
for record_id in cluster:
for row in data:
if record_id == int(row[0]):
row = list(row)
row.insert(0,cluster_id)
row = tuple(row)
full_data.append(row)
这部分是否有任何可能的优化,以便它以更少的时间复杂度产生相同的结果?该脚本是否适用于 1.5 亿条记录?