Медленное ОБНОВЛЕНИЕ в PostgreSQL - PullRequest
0 голосов
/ 21 ноября 2018

Я извлекаю некоторые данные из 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;

и не получил такого большого результата.

Я думал об отправке одного запроса для каждогосделка, поэтому у нее будет меньше условий.Это улучшит производительность?Или есть другой способ повысить производительность?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...