MySQL 최적화: 단일 패스로 UPDATE와 SELECT 결합
작업이 여러 작업자 앱에 분산되는 일반적인 다중 앱 시나리오에서는 작업의 소유권을 획득하기 위한 일반적인 솔루션에는 작업을 소유한 것으로 표시하는 UPDATE(전역적으로 고유한 식별자를 설정하여)와 작업의 매개변수를 검색하는 SELECT라는 두 가지 별도의 MySQL 작업이 포함됩니다. 이 접근 방식은 특히 동시 요청량이 많은 경우 성능 병목 현상이 발생할 수 있습니다.
이 두 작업을 MySQL 서버에 대한 단일 패스로 결합하여 효율성을 높일 수 있습니까?
답변:
예, 다음 접근 방식을 사용하면 단일 서버 호출에서 원하는 효과를 얻을 수 있습니다.
<code class="sql">UPDATE `lastid` SET `idnum` = (SELECT `id` FROM `history` ORDER BY `id` DESC LIMIT 1);</code>
이 쿼리는 두 업데이트를 모두 수행합니다. 단일 원자 트랜잭션의 SELECT 작업. 작동 방식은 다음과 같습니다.
UPDATE와 SELECT 연산을 결합함으로써 별도의 SELECT 쿼리가 필요 없고 네트워크 왕복 횟수가 줄어듭니다. 이러한 최적화는 특히 동시성이 높은 시나리오에서 성능을 크게 향상시킬 수 있습니다.
위 내용은 향상된 작업 소유권 관리를 위해 MySQL에서 UPDATE와 SELECT를 결합할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!