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 миллионов записей?

0 ответов

Другие вопросы по тегам