2016-11-02 1 views
0

업데이트 정보를 신경 쓰지 않고 읽기 쿼리의 성능을 향상 시키면 특정 쿼리에 대해 READ COMMUNICATION을 사용하지 않을 수 있음을 알고 있습니다. 그것은 또한로드 하에서 병렬로 실행되는 쓰기 작업의 성능을 향상시킬 것입니까?쓰기 작업의 성능이 향상되지 않을까?

+0

중요한 쓰기 작업이있는 경우 유용할지 여부에 관계없이 읽기 확약을 사용하지 않아야합니다. –

+2

나는 당신이 읽지 않은 것을 의미한다고 생각합니까 ??? 그러나 당신이 실제로 여기에서 묻고있는 것이 확실하지 않습니다. –

+0

아니, 아니, 아니, 아니, 아니. 트랜잭션 격리 수준이 보장됩니다. 이러한 보증을 읽고, 보증을 이해하고, 요구 사항에 맞는 적절한 수준을 선택하십시오. "성능을 향상시키기 위해 X 격리로 전환"할 필요가 없습니다. 이것은 매우 복잡한 문제입니다. 가능하다면 숙련 된 DBA에게 이것을 고려해보십시오. 트랜잭션 격리를 망칠 것은 모든 것을 끔찍하게 느리게 만들거나 끔찍하게 깨뜨리는 훌륭한 방법입니다. – Luaan

답변

0

이 질문은 모순과 같습니다. 트랜잭션 격리 수준을 READ COMMITTED로 선택하면 기본적으로 "모든 READ 작업은 완료된 트랜잭션의 일부로 강화 된 값을 반환합니다"를 의미합니다.

쓰기 조작이 병렬로 (동일한 데이터 서브 세트에서) 실행될 때 READ COMMITTED 트랜잭션이 완료 될 때까지 잠금에 의한 쓰기 작업이 실제로 금지됩니다. 이는 일관성을 보장하기위한 것입니다.

기본적으로 READ 쿼리가 모든 데이터 검색을 완료 할 때까지 동일한 데이터 하위 집합에 대한 쓰기 작업을 실행할 수 없습니다.

큰 WRITE 성능을 얻고 싶다면 READ UNCOMMITTED 격리 수준으로 가야합니다.

+0

정말 미안합니다. 내 질문에 오타. 실제로 "쓰기가 잘되지 않습니까?"라고 물어보고 싶었습니다. 질문 수정. – user43286

+0

기본적으로 배타적 잠금이 제거되므로 쓰기가 완료되어 궁극적으로 성능이 향상됩니다. . –

관련 문제