insert 처리 질문드립니다.

insert 처리 질문드립니다.

QA

insert 처리 질문드립니다.

본문

그누보드 각종 모듈에서 일단 insert를 하고 오류가 발생하면 해당행이 있는것으로 간주하고 update를 하도록 처리되고 있는 로직을 종종 발견하게 되는데, 이게 select문으로 확인하고 update나 insert하는것보다 더 효율적인 방법인가요?

 

예시로는 bbs/visit_insert.inc.php 32라인입니다.3554457875_1641960464.5376.png

이 질문에 댓글 쓰기 :

답변 2

상단에서 insert 한후 result 에 insert 결과 값이 들어가게 되니까

별로 select 하지 않아도 존재하면 (입력이 정상적으로 되었다면) 입력하게 됩니다

 

쿼리를 두번 날리지 않아도 되니까 부하가 조금 줄어들게됩니다

 

또한 select 후 insert 를 하면 전 단계 에서 insert 가 오류가 발생한건지 안한건지를 알수가 없기 때문에 무결성 문제도 발생합니다 따라서 위처럼 하는게 옳은 방법이라고 볼수있습니다

INSERT ... ON DUPLICATE KEY UPDATE Statement

구문을 참고하세요.

 

https://dev.mysql.com/doc/refman/8.0/en/insert-on-duplicate.html

답변을 작성하시기 전에 로그인 해주세요.
전체 1,543
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT