insert 처리 질문드립니다.
본문
그누보드 각종 모듈에서 일단 insert를 하고 오류가 발생하면 해당행이 있는것으로 간주하고 update를 하도록 처리되고 있는 로직을 종종 발견하게 되는데, 이게 select문으로 확인하고 update나 insert하는것보다 더 효율적인 방법인가요?
답변 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
답변을 작성하시기 전에 로그인 해주세요.