Поведение зависит от СУБД и уровня изоляции. В PostgreSQL обычный SELECT при Read Committed читает согласованный снимок начала оператора, включая JOIN и агрегацию.
Ты джойнишь две таблицы и выполняешь агрегацию, в этот момент происходит изменение этих данных — что будет?
Поведение зависит от СУБД и уровня изоляции. В PostgreSQL обычный SELECT при Read Committed читает согласованный снимок начала оператора, включая JOIN и агрегацию.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Поведение зависит от СУБД и уровня изоляции. В PostgreSQL обычный SELECT при Read Committed читает согласованный снимок начала оператора, включая JOIN и агрегацию.
Изменения, подтверждённые позже, не обязаны попасть в текущий результат. Следующий SELECT в той же транзакции при Read Committed может увидеть новый снимок. Для требований к нескольким связанным чтениям выбирают более строгий уровень или явную синхронизацию, учитывая её цену.