dataaccess를 혁신적으로 편하게 만들어준 MyBatis. SI를 수행하는 사람은 모르는 사람이 없는 스킬셋이다. 이 MyBatis를 사용할때 성능을 꽤 올릴수 있는 방법들이 있다. 대량데이터를 조회하는 query 설정에 fetchSize 를 넣어주자. 결론부터 얘기하자면 테스트하는 환경마다 다르겠지만 약 만건의 데이터를 넣고 조회하는 로직을 수행했을때 fetchSize를 넣은것과 안넣은것은 성능차이는 내가 테스트해본 환경에서는 15배정도 났다. 대용량 조회를 할 경우 fetchSize를 꼭 넣어주자. visualVM 으로 구간별 속도를 측정을 해봤을때 MyBatis의 DefaultResultSetHandler.shouldProcessMoreRows() 가 거의 대부분의 시간을 차지하고 있었다. 메..
batch 성 업무를 처리할때 동일한 쿼리에 바인딩할 값만 변경하여 계속 반복하며 처리해야 하는 상황이 있다. public void updateEmployee(List list) { for (Employee employee : list) { sqlSession.update("Employee.updateEmployee", employee); } } 이런식으로 java에서 for문을 돌며 몇번이고 update 쿼리를 호출하는 방식인데 바람직하지 않다. 성능을 끌어 올리고 싶다면 MyBatis의 foreach문을 이용하여 처리를 해주는 방법이 있다. sql UPDATE employee SET salary = 50000 WHERE employeeID IN #{employee.employeeID} java pub..