목록Spring/Mybatis (3)
사붐이개발일기
내가 사용한 방법 환경 java 8 mybatis postgreSQL /* SmartroPay.xml updateJoinAdjmCompleted */ UPDATE tb_mbr_pay SET mpay_sadj_id = temp.padj_sadj_id , mpay_sadj_stat = #{mpayAdjmStat} , mpay_adjm_dttm = temp.adj_date , mpay_updt_dttm = now() FROM ( SELECT a.*, c.adj_date FROM tmp_mpay_adjm a LEFT JOIN tb_shp_adjm b ON a.padj_sadj_id = b.sadj_id LEFT JOIN tb_adjm c ON b.sadj_adjm_id = c.adj_id where a.tid ..
Insert into + Join 쿼리 우선 join은 select용이다. insert문에 join을 결합하여 사용한다는 말은, join하여 select한 특수한 값을 골라 insert 한다는 말과 같다. 다음과 같은 상황일때 사용할 수 있다. Q. TB1 에는 있고, TB2에는 없는 레코드만 TB2에 추가하기 sql INSERT INTO TB2 (코드, 년도) ( SELECT A.코드, A.년도 -- 추가할 필드 FROM TB1 A LEFT JOIN TB2 B ON A.코드 = B.코드 WHERE B.코드 IS NULL -- join한 TB2테이블의 필드가 NULL이라는 말은 TB2에는 없는 값을 의미한다. ) 내가 사용한 방법 환경 java 8 mybatis postgreSQL /* SmartroPa..
내용1. SqlSession 의 ExecutorType.BATCH ExecutorType.BATCH 를 사용하면 바로 DB 로 쿼리를 날리지 않고 쿼리를 미리 쌓아뒀다가 commit 시 connection에 모든 쿼리를 넘겨준다. 2. flushStatements MyBatis에서는 flushStatements라는 설정 옵션을 제공합니다. 이 옵션을 활용하면 일정량의 SQL 문을 배치 처리하고 커밋하기 전에 임시로 버퍼에 저장하는 방식으로 대용량 데이터 처리 작업의 성능을 개선할 수 있습니다. 대용량 데이터 작업을 수행하는 동안 많은 SQL문을 생성하고 실행할 수 있습니다. 이때 flushStatement를 사용하면, 일정한 개수나 시간 간격으로 SQL 문을 배치로 처리하고 커밋하므로 다음과 같은 장점이..