Я извлекаю некоторые данные из API и проверяю, есть ли они в моей базе данных, чтобы я мог их обработать.Дело в том, что масштабируемость моего алгоритма действительно плохая, и я не знаю, как его оптимизировать.
В основном я делаю
UPDATE transactions_over_time SET joined_chain = '" + timestamp + "', block_number = '" + block_num + "' WHERE joined_chain IS NULL AND
и вставляю один за другим условиякаждая транзакция как
OR (user_from ~* '" + transaction['from'] + "' AND user_to ~* '" + \
transaction['to'] + "')
Уже пробовал эти вещи:
ALTER TABLE tablename SET (FILLFACTOR = 70);
VACUUM FULL tablename;
REINDEX TABLE tablename;
и не получил такого большого результата.
Я думал об отправке одного запроса для каждогосделка, поэтому у нее будет меньше условий.Это улучшит производительность?Или есть другой способ повысить производительность?