다음과 같은 상황에서 데이타베이스로 처리할 수 있는지 궁금합니다.
하나의 데이타 서버에 여러개의 클라이언트가 연결되었습니다.
그런데, 서버 데이타의 내용을 수정했을 때, 현재 접속되어 있는 각 클라이언트에
내용이 수정되었다는 신호를 보낼 수는 없는지요?
안되면, 정기적으로 검사를 해서 변했는지 알아야 할까요?
서버측에서 접속되어 있는 모든 클라이언트에게 자동으로 어떤 변경사항을 알려주는 방법은 없습니다.
notify/listen 명령어가 있기는 하나, 이것도 엄격히 말하면 클라이언트가 최소한의 어떠한 작업을 해야지 반응하는 것이거든요.
그렇다면, 어떤 변화가 있어났는가? 를 살펴볼 방법은 모든 클라이언트가 각각 해당 자료를 주기적으로 살펴보는 것 밖에는 없습니다. 그 조사 쿼리 비용을 최소화 하는 것이 제일 중요하겠죠.
쿼리비용을 어떻게 하면 최소화 할까요? 단순히 select 해서, 그 값이 변했는지 확인합니까? 다른 방법은 없나요?
^^;
값의 변화는 트리거를 거시면 됩니다.
update 트리거를 거셔서 트리거 발생하면 그때 notify를 주시면 될거라 생각이 듭니다.
그럼