«locking» 태그된 질문

잠금을 요청하는 프로세스에 일시적으로 독점 액세스 권한을 부여하여 공유 데이터 또는 자원에 대한 동시 액세스를 관리하는 메커니즘입니다.

1
MySQL : 트랜잭션이 행을 잠글 것인가?
이전에 MySQL 트랜잭션을 사용해 보지 않았으며 무언가를 명확히하고 싶습니다. 두 명의 사용자가 정확한 시간에 쿼리를 실행한다면 MySQL은 어떻게 이것을 처리합니까? 예를 들어 사용자가 레코드를 업데이트하려고합니다. user1 : 업데이트 테이블 세트 column = column-4 여기서 column_id = 1; user2 : 업데이트 테이블 세트 column = column-7 여기서 column_id = 1; 이제 …


3
행 잠금 경합 추적, 디버깅 및 수정
늦게, 나는 많은 행 잠금 경합에 직면했습니다. 경합 테이블은 특정 테이블 인 것 같습니다. 이것은 일반적으로 일어나는 일입니다- 개발자 1은 Oracle Forms 프론트 엔드 화면에서 트랜잭션을 시작합니다 개발자 2는 동일한 화면을 사용하여 다른 세션에서 다른 트랜잭션을 시작합니다. ~ 5 분 안에 프런트 엔드가 응답하지 않는 것 같습니다. 세션을 확인하면 행 …

1
mysql 느린 쿼리 로그 내에서 "잠금 시간"을 어떻게 해석해야합니까?
MySQL 느린 쿼리 로그에 표시되는 쿼리의 잠금 시간을 가장 잘 해석하는 방법을 이해하려고합니다. 예를 들어 UPDATE 쿼리에 10 초의 잠금 시간이있는 경우 업데이트 쿼리가 잠금을 얻은 후 총 시간이라고 가정합니다. 이전 선택 쿼리가 완료되기를 기다리고 있지만 UPDATE 동작 자체를 실행하지 않더라도 UPDATE 쿼리 이후에 정렬 된 모든 SELECT 쿼리를 잠그기 …
12 mysql  locking 

2
SELECT… WITH XLOCK을 사용해야하는 이유는 무엇입니까?
다시 발생하는 교착 상태에 직면하고 있습니다. 그 중 하나는 Keylock이며 Xlock 힌트가있는 교착 상태 피해자가되는 SELECT 쿼리가 포함되어 있습니다. 다른 명령문은 첫 번째 조회보기의 일부인 테이블 중 하나에 대한 INSERT입니다. 전망: create view dbo.viewE as select * from dbo.E where myValue > 13000 쿼리를 선택하십시오. select * from dbo.viewE with …

1
많은 양의 데이터가있는 기존 테이블에 인덱스를 추가하면 어떻게됩니까?
약 1,500 만 건의 레코드가 포함될 테이블이 있습니다. 이제 테이블에 인덱스를 추가해야합니다. 색인을 추가하면 테이블의 모든 항목을 업데이트하는 데 시간이 걸립니다. 인덱스를 추가하면 가동 중지 시간이 발생하는지 혼란 스럽습니다. 그렇다면 다운 타임을 어떻게 극복 할 수 있습니까?

1
UPDATE / INSERT 조합을 위해 Postgres에서 잠금
두 개의 테이블이 있습니다. 하나는 로그 테이블입니다. 다른 하나는 본질적으로 한 번만 사용할 수있는 쿠폰 코드를 포함합니다. 사용자는 쿠폰을 사용할 수 있어야합니다. 쿠폰을 사용하면 로그 테이블에 행을 삽입하고 쿠폰을 사용한 것으로 표시합니다 ( used열을 로 업데이트하여 true). 당연히 여기에는 명백한 경쟁 조건 / 보안 문제가 있습니다. 나는 mySQL의 세계에서 과거에 …

1
Sch-M WAIT는 SQL Server 2014에서 Sch-S를 차단하지만 SQL Server 2008 R2는 차단하지 않습니까?
우리는 최근 SQL 2008 R2의 프로덕션 인스턴스를 새로운 SQL 2014 서버로 마이그레이션했습니다. 다음은 Service Broker 사용에 대해 알아 낸 흥미로운 시나리오입니다. 와 데이터베이스 고려 Broker Enabled = true에 MyService와 MyQueue. 이 큐에서 포이즌 메시지 처리가 사용 불가능합니다. 대기열에있는 메시지와 2 개 이상의 활성 대화가 있습니다. 한 프로세스 (SPID 100)에서 다음을 …

4
READ COMMITTED에서도 MySQL InnoDB가 삭제시 기본 키를 잠급니다
머리말 우리의 응용 프로그램은 DELETE병렬로 쿼리를 실행하는 여러 스레드를 실행 합니다. 쿼리는 격리 된 데이터에 영향을줍니다. 즉, DELETE별도의 스레드에서 동일한 행에 동시 가 발생할 가능성이 없어야 합니다. 그러나 문서 당 MySQL은 DELETE명령문에 대해 소위 '다음 키'잠금을 사용 하여 일치하는 키와 일부 간격을 모두 잠급니다. 이로 인해 교착 상태가 발생하고 우리가 …

1
SQLite 데이터베이스 잠금을 어떻게 방지합니까?
SQLite FAQ에서 다음을 알고 있습니다. 여러 프로세스가 동시에 동일한 데이터베이스를 열 수 있습니다. 여러 프로세스가 동시에 수행 될 수 있습니다 SELECT. 그러나 한 번에 하나의 프로세스 만 데이터베이스를 변경할 수 있습니다. 그래서, 지금까지 나는 내가 할 수있는 이해 : 1) 읽기 여러 스레드에서 데시벨 ( SELECT) 여러 스레드 2) 읽기 …
11 locking  sqlite 

1
SQL Server는 언제 잠금을 획득합니까?
여기에 있는 SQL Server의 격리 수준 목록 에는 트랜잭션 내에서 획득 한 쓰기 잠금이 트랜잭션이 끝날 때까지 유지된다고 나와 있습니다. 그러나 이러한 잠금을 획득 한 시점에 대해서는 언급하지 않습니다. 트랜잭션 시작시 또는 필요할 때 잠금이 기본적으로 획득됩니까? 후자가 사실이라면, X 잠금이 유지되는 시간을 최소화하기 위해 가능한 한 늦게 쓰기 작업을 …

4
PostgreSQL로 행 당 고유 카운터를 유지하는 방법은 무엇입니까?
document_revisions 테이블에 고유 한 (행 당) 개정 번호를 유지해야합니다. 여기서 개정 번호는 문서의 범위를 지정하므로 전체 테이블에 고유하지 않고 관련 문서에만 적용됩니다. 나는 처음에 다음과 같은 것을 생각해 냈습니다. current_rev = SELECT MAX(rev) FROM document_revisions WHERE document_id = 123; INSERT INTO document_revisions(rev) VALUES(current_rev + 1); 그러나 경쟁 조건이 있습니다! 로 …

2
Oracle에서 레코드가 잠겨 있으면 어떤 레코드가 잠겨 있는지 알 수 있습니까?
레코드가 잠겨있을 때 어떤 레코드가 잠겨 있는지 알 수 있습니까? 레코드 rowid 또는 다른 정보를 얻으려면 어떻게해야합니까? 이 SQL로 정보를 얻을 수 있습니다. SELECT c.ROW_WAIT_OBJ#,c.ROW_WAIT_FILE#,c.ROW_WAIT_BLOCK#,c.ROW_WAIT_ROW# FROM v$locked_object a, dba_objects b, v$session c WHERE a.object_id = b.object_id AND a.SESSION_ID = c.sid(+) 웹에서 함수를 사용하여 rowid를 얻는 방법을 찾았습니다. DBMS_ROWID.ROWID_CREATE() 그러나 작동하지 …
10 oracle  locking 


2
쿼리가 테이블 수준 잠금을 기다리는 것을 방지하는 방법
고객의 데이터베이스를 추가 서버로 이동 한 후 문제가 발생했습니다. 이는 사이트 성능에 긍정적 인 영향을 미쳤지 만 MyISAM에서 테이블 잠금에 문제가 있습니다. (MyISAM 대신 InnoDB를 사용한다고 들었지만 가까운 시일 내에 엔진을 변경할 수는 없습니다). 중재자가 기사 사이트에 대한 주석을 활성화 할 때 수행되는 업데이트 쿼리를 발견 할 수 있습니다. 이것은 …

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.