insert 처리 질문드립니다.

insert 처리 질문드립니다.

QA

insert 처리 질문드립니다.

답변 2

본문

그누보드 각종 모듈에서 일단 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

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 16,792
© SIRSOFT
현재 페이지 제일 처음으로