[DB] PhantomRead란?
·
면접 준비/DB
Phantom Read(팬텀 리드)란? 팬텀 리드는 같은 트랜잭션 내에서 동일한 조건으로 여러 번 데이터를 조회했을 때, 새로운 행이 추가되거나 삭제되어 결과가 달라지는 현상입니다. 즉, 트랜잭션이 실행되는 동안 다른 트랜잭션에 의해 새로운 데이터가 삽입되거나 삭제되어, 처음 조회한 결과와 이후 조회한 결과가 달라지는 문제입니다.📌 Phantom Read 예제 1️⃣ 문제 상황 1. A 트랜잭션이 WHERE 조건을 만족하는 데이터를 조회합니다. 2. B 트랜잭션이 새로운 데이터를 INSERT합니다. 3. A 트랜잭션이 동일한 조건으로 다시 조회하면, 처음 조회할 때 없던 데이터가 추가된 것을 확인할 수 있습니다. 4. 동일한 SELECT 쿼리를 실행했는데도 새로운 데이터가 추가되면서 결과가 변경됨 → ..