Python Postgresql дедуплицирует много времени. Может ли быть какая-либо оптимизация?
Я использую пример кода postgres dedupe. Для 10000 строк это занимает 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)
Есть ли какая-либо возможная оптимизация для этой части, так что она дает тот же результат в меньшей сложности? Будет ли этот скрипт работать на 150 миллионов записей?