
CUBRID Lock Write 함수는 데이터베이스의 동시성 제어를 위해 사용됩니다. 이 함수는 특정 레코드에 대한 쓰기 잠금을 획득하여, 다른 트랜잭션들이 해당 레코드를 수정하지 못하도록 막습니다.
이 함수를 호출할 때, 트랜잭션 내에서 호출되어야 하며, 트랜잭션의 isolation level이 SERIALIZABLE(시리얼라이즈블)로 설정되어야 합니다. 이는 데이터베이스가 트랜잭션 간의 충돌을 방지하기 위해, 모든 트랜잭션을 시리얼라이즈드(시계열화)한 후에 실행하는 것을 의미합니다.
트랜잭션의 isolation level이 다른 경우, cubrid_lock_write() 함수의 동작이 달라질 수 있습니다. 예를 들어, 트랜잭션의 isolation level이 READ COMMITTED(읽기 커밋)일 경우, 다른 트랜잭션들이 이미 레코드를 수정한 후에, cubrid_lock_write() 함수가 호출되면, 레코드의 이전 버전을 읽을 수 있습니다.
따라서, cubrid_lock_write() 함수를 호출하기 전에, 트랜잭션의 isolation level을 확인하고, 필요에 따라 조정해야 합니다.
2025-06-12 21:10