lock 을 이용해야 하는 것이 맞습니다.
하지만 기본적으로 DBMS 에서 누군가 write 하는 동안에 read 를 한다고 해서 크게 문제되지는 않습니다. 그 정도의 기본적인 protection 은 해 줍비니다. 만약 write 보다 read가 조금이라도 빨랐다면 그 write 항목은 포함되지 않고 나머지만 소팅이 되겠지요. 그렇지 않고 write 가 좀 빨랐다면 당연히 그 항목도 포함이 될것입니다. 그리고 PostgreSQL 의 경우 write와 read 에 대해서 따로 lock 을 걸수도 있습니다. 물론 명시적으로 이것이 명확하게 구분은 않되어 있지만 그렇습니다.
걱정하시는 문제점은 크게 문제가 될 것 같지 않습니다. 문제는 아주 critical 한 table 에서 동시에 write 를 하려고 한다던지 하는 등등에서 문제가 되는 경우가 있습니다. 이도 저도 다 싫으시면 그냥 lock 을 사용하시면 명확하게 해결이 됩니다.
> 시험삼아 게시판을 만들어 보는데요...응답형 게시판을 구축하는데 있어..
> 응답이 들어오면 number 를 다시 소팅해주는 방법으로 짰는데요..
> (응답이 들어 온것 부터 맨 마지막 번호까지..1씩 증가 시켜줘서)
> 테스트 해보니 다 잘 됩니다..그런데..만약에..누군가 응답을 써서..
> 소팅이 되고 있는 순간에..write 를 해버리면 어떻게 되나요...?
> lock 이 그런거 막아 주는거 같던데..lock 을 써야 하나요..?
> 너무 바보같은 질문이지만..정말 궁금 합니다..
> 대강이라도..아시는분은 답변을...해주시면 감사하겠습니다..
|