MySQL에서 다중 열 고유 식별자로 작업할 때 업데이트와 업데이트를 모두 효율적으로 처리해야 하는 문제가 발생합니다. 삽입. 'UPDATE ON DUPLICATE KEY' 구문은 적합한 솔루션처럼 보이지만 작동하려면 고유 키가 필요합니다.
그러나 여러 열에서 복합 키를 생성하면 'UPDATE ON DUPLICATE KEY'가 허용됩니다. 원하는대로 작동합니다. 접근 방법은 다음과 같습니다.
복합 키를 생성하려면 다음 구문을 사용합니다.
CREATE INDEX <index_name> ON <table_name> (<column1>, <column2>);
예를 들어, 복합 키를 생성해 보겠습니다. 질문에 언급된 3열 테이블에 대해:
CREATE INDEX unique_index ON my_table (col_1, col_2);
복합 키가 생성되면 'UPDATE ON DUPLICATE KEY' 쿼리를 실행하여 키 값을 기반으로 레코드를 업데이트하거나 삽입할 수 있습니다. 구문은 다음과 같습니다.
INSERT INTO <table_name> (col_1, col_2, col_3) VALUES ('value1', 'value2', 'value3') ON DUPLICATE KEY UPDATE col_3=col_3+1;
이 쿼리에서는 col_1 및 col_2의 지정된 값을 가진 레코드가 이미 존재하는 경우 col_3에 1이 증가하고 그렇지 않으면 새 레코드가 삽입됩니다.
위 내용은 복합 키는 어떻게 MySQL의 `UPDATE ON DUPLICATE KEY` 성능을 향상시킬 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!