Я планирую сделать долгое обновление на моей огромной таблице (более миллиарда строк). Это обновление будет умножать значения одного столбца на фиксированное число.PL/SQL - не обновлять измененные строки
Проблема заключается в том, что во время моего обновления (которое может продолжаться несколько часов) обязательно будут короткие транзакции, которые будут обновлять некоторые строки, и эти строки будут иметь правильное значение, которое не должно обновляться, хотя они все равно будут удовлетворять условию моего обновления.
Итак, вопрос в том, как я могу пропустить (не обновлять) строки, которые были обновлены за пределами транзакции моего давно работающего обновления?
Предположим, что короткие транзакции не придут во время длительной транзакции. Но есть несколько коротких транзакций, которые запускали и обновляли некоторые строки до начала длительной транзакции. Итак, эти строки будут правильными. Как вы знаете, чтобы пропустить их? (Я хочу сказать, что ваша проблема не имеет ничего общего с транзакцией или параллелизмом, но качество и согласованность данных) –