database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
ㆍMS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
MS-SQL Q&A 7160 게시물 읽기
No. 7160
여러 PC에서 동일한 작업일때 Lock 발생
작성자
오양양
작성일
2019-03-30 00:13
조회수
2,215

안녕하세요.

test 테이블에 수시로 데이터가 insert/update/select가 발생하고 있습니다.
20대의 PC가 1초마다 test 테이블에서 2000건씩 select 후 자기가 가져간 건들을 update 합니다.
그런데 가끔 동일한 seq의 자료가 여러번 update 되는 경우가 있습니다.
아마도 이미 다른 PC에서 처리중인 자료를 또 다른 PC에서도 가져가 update를 하는게 아닌가 생각됩니다.
또한 LOCK도 발생하고 교착상태라며 멈추기도 합니다.
이 문제를 어떻게 해결하면 될지요?

도움 부탁드립니다.

이 글에 대한 댓글이 총 1건 있습니다.

한가지 방법으로 컴퓨터의 접근을 직렬화 해야 할 것 같네요.

test테이블의 PK가 시퀀스라면

작업테이블 하나 만들어서

접근하는 컴퓨터에서 시작 시퀀스 확인 및 +2000 update후

test에서 해당 구간을 가져가고 update 하시면 될 것 같네요.

박인호(paerae)님이 2019-04-01 11:35에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
7163집계쿼리문의 [1]
조현식
2019-04-23
2158
7162성능문의
일개미님
2019-04-08
2080
7161쿼리문의합니다.급합니다. 도와주세요. ㅠㅠㅠ [3]
추노
2019-04-04
2205
7160여러 PC에서 동일한 작업일때 Lock 발생 [1]
오양양
2019-03-30
2215
7159web 사용자정보 수정쿼리 문의 [1]
일개미님
2019-03-27
2036
7158select ~ case [1]
help me
2019-03-15
2246
7157mssql invalid object는 어떻게 check하나요?
톰보우
2019-02-22
2133
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.016초, 이곳 서비스는
	PostgreSQL v16.4로 자료를 관리합니다