현재 상황
- 추가적으로 Create Update 작업의 경우 DTO 가 아니라 VO 를 그대로 받아서 컨트롤러에서 별도 setter 의 레거시한 구조를 유지하고있다.
- 또한 Mybatis 는 캐싱을 하지 않기에, 상대적으로 성능적으로 문제가 있음.
또한 DB 테이블 구조 자체도 별도의 인덱싱이 PK 외에는 걸려있지않음. → 다른 인덱싱할 요소 자체가 일단 없긴함.. ⇒ Mybatis에서 성능을 개선할 여지가 크게 와닿지 않는 상황
- multiInsert 의 경우 multipleRow - Insert 를 하고 있지 않고 단건 Insert Update 를 수행한다.
또한 delete 도 단건임.
- 실무상으로 10만건 이상을 조회하는 경우 상당히 부하가 심하다. 요청에서 응답까지 체감상 3초 이상의 시간이 걸림. ⇒ 물론 서버 성능 문제도 있다.
개선점
- DTO 와 VO를 명확하게 나누어야한다.
- Controller 에서는 로직을 수행하지 않도록 한다.
Uploaded by N2T
'자바 > 리팩토링' 카테고리의 다른 글
[리팩토링] 쿠키 관리를 서버단에서 들고있다면.. (0) | 2023.09.24 |
---|---|
[리팩토링]@ Controller 에서 API 를 호출하여 사용할 수 있는 restTemplate (0) | 2023.09.23 |
[리팩토링] 예시 코드 일부를 분석해보기 (0) | 2023.09.21 |
[리팩토링] 리스트 조회에서 api 만 분리하기 (0) | 2023.09.21 |
[리팩토링] DTO 가 너무 분화될 것 같은 경우 어떻게 해야할까? (0) | 2023.09.21 |