MySQL의 비잠금 SELECT 쿼리
MySQL에서는 테이블이 동시에 수정될 때 SELECT 작업 중에 자주 잠금이 발생할 수 있습니다. 이 문제를 완화하려면 비잠금 읽기를 허용하는 기술을 사용하는 것이 좋습니다.
READ UNCOMMITTED 사용
한 가지 접근 방식은 트랜잭션 격리 수준을 READ UNCOMMITTED로 설정하는 것입니다. 잠금을 획득하지 않고도 읽기가 가능합니다. 그러나 이 옵션은 데이터 무결성을 손상시키므로 슬레이브에는 적합하지 않을 수 있습니다.
WITH(NOLOCK)와 동등한 SQL
WITH(NOLOCK)과 동등한 경우 Microsoft SQL Server의 조항에서 MySQL은 다단계 프로세스를 제공합니다.
다음으로 트랜잭션을 시작합니다. READ UNCOMMITTED 격리:
SET SESSION TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
SELECT 쿼리 수행:
SELECT * FROM TABLE_NAME;
트랜잭션 격리 수준을 다시 REPEATABLE로 재설정 읽기:
SET SESSION TRANSACTION ISOLATION LEVEL REPEATABLE READ;
향상된 비잠금 쿼리 실행
Michael Mior는 비잠금 쿼리 실행의 향상된 버전을 제안했습니다.
거래 격리 수준을 다음으로 설정합니다. 커밋되지 않은 읽기:
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED ;
SELECT 쿼리 수행:
SELECT * FROM TABLE_NAME ;
트랜잭션 커밋:
COMMIT ;
위 내용은 MySQL에서 비잠금 SELECT 쿼리를 어떻게 수행할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!