집 >데이터 베이스 >MySQL 튜토리얼 >복잡한 테이블을 업데이트할 때 여러 SELECT 문을 사용하는 것이 효율적입니까?
복잡한 테이블로 Upserting: 여러 열 업데이트
여러 열로 upsert 작업을 수행할 때 여러 열을 사용하는 것이 효율적인지 의문이 생깁니다. 업데이트 부분에서 문을 선택하십시오. 기술적으로는 가능하지만 더 나은 접근 방식도 있습니다.
제공된 예를 고려하세요.
INSERT INTO `item` (`item_name`, items_in_stock) VALUES('A', 27) ON DUPLICATE KEY UPDATE `new_items_count` = 27 + (SELECT items_in_stock where item_name = 'A')
이 쿼리는 지정된 항목의 기존 값에 들어오는 수량을 효과적으로 추가합니다. 그러나 subselect는 필요하지 않습니다.
쿼리의 수정된 버전은 다음과 같습니다.
INSERT INTO `item` (`item_name`, items_in_stock) VALUES( 'A', 27) ON DUPLICATE KEY UPDATE `new_items_count` = `new_items_count` + 27
subselect를 생략함으로써 쿼리는 ON을 트리거한 행을 참조하는 MySQL의 기능을 활용합니다. 중복 키 작업. 이렇게 하면 추가 select 문이 필요하지 않으며 업데이트 프로세스가 간소화됩니다.
간소함이 효율적인 작업의 핵심인 경우가 많다는 점을 기억하세요. 사용 가능한 옵션을 신중하게 고려하고 불필요한 복잡성을 피함으로써 성능 및 코드 가독성을 위해 upsert 쿼리를 최적화할 수 있습니다.
위 내용은 복잡한 테이블을 업데이트할 때 여러 SELECT 문을 사용하는 것이 효율적입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!