개발 고민

[2022-08-12] 고민

hongod 2022. 8. 12. 18:16

- DB를 통해 자료 list를 select만 해오는 기능을, 즉 'aaaMapper.selectAAA' 와 같은 것은 한줄 짜리라도 serivce 계층에서 함수로 분리하는게 맞을까 아니면 그냥 그정도는 바로 쓰는게 나을까. 함수를 만들자니 당장 체감되는 장점은 없고 코드만 늘어나는 느낌... 그냥 차후에 있을지 모르는 기능 확장을 대비한다는 느낌?

 => 보통 service 함수에 transaction이 걸리기 때문에 가능하면 service 함수를 통해서 접근하는게 좋다. 경우에 따라서 아주 간단한 조회 기능인 경우 그냥 바로 dao(sqlmapper)를 통해서 불러오기도 한다.

 

-  language 정보를 이용해 필요한 컬럼 정보를 가져와야한다. 예를 들면 user_name_lang1, user_name_lang2 중 하나를 가져와야 하는데 어떤걸 가져와야할지 모를 때,  이 정보 역시 DB에서 가져와야한다. 이 때, lang 정보를 가져온 뒤 정확히 원하는 컬럼만 가져오는 쿼리를 또 실행, 즉 쿼리 2회 실행하는게 좋을까, 아니면 한 번에 join 해서 lang 정보랑 user_name_lang1, user_name_lang2 까지 모두 가져온 뒤 어플리케이션 단에서 lang을 보고 선택해서 쓰는게 나을까? 이 경우 DB I/O는 한 번만 이뤄짐

 => 쿼리문 실행이 최소로 되는게 좋긴 하지만, 그래도 JOIN 역시 그 자체로 성능을 많이 타기 때문에 이 역시 정답은 없는 듯...

'개발 고민' 카테고리의 다른 글

[2022-11-15] 고민  (0) 2022.11.15