Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

캘린더 게시글 여부 조회 API 리펙토링 요청 #61

Open
2 tasks
J-MU opened this issue Jan 30, 2023 · 0 comments
Open
2 tasks

캘린더 게시글 여부 조회 API 리펙토링 요청 #61

J-MU opened this issue Jan 30, 2023 · 0 comments
Assignees
Labels
리팩토링 리팩토링 관련

Comments

@J-MU
Copy link
Collaborator

J-MU commented Jan 30, 2023

📢 이슈 내용

홈화면에서 달력 게시글여부 조회 API는 도저히 typeorm으로는 구현의 복잡성이 너무 커져 native query로 구현함.
(기능명세서 1.4.1)
feedRepository 77번째 줄 RetrieveMyFeedInCalendar 함수에서 native Query호출하고 있음. 차후 typeORM으로 리펙토링 요청

📃 상세 내용

  • 홈화면에서 달력 게시글여부 조회 API는 도저히 typeorm으로는 구현에 어려움을 느껴 native query로 구현하였다.
    (기능명세서 1.4.1)
  • feedRepository 77번째 줄 RetrieveMyFeedInCalendar 함수에서 native Query호출하고 있음. 차후 typeORM으로 리펙토링 요청
  • MySQL 5.75버전 이상에서 GROUP BY 함수를 사용할 때 nonaggregated column에 대해 에러가 발생한다. SQL_MODE를 수정하여 이전버전대로 동작하도록 설정할 수 있으나 EC2를 끄고 켤때마다 다시 설정해야하는 문제가 발생하여 GROUP BY 를 사용하지않고 SubQuery를 통해 우회하여 구현하였다. 다만 구현된 SQL의 복잡성이 너무 거대해 성능이슈 우려된다. (참고 내용 링크 참조)

✔️ 체크리스트

  • 위 API 성능 테스트를 통해 병목현상이 일어나는지 확인 필요
  • typeORM을 통해 구현할 수 있을지 고려

📍 참고 내용

https://dev.mysql.com/doc/refman/5.7/en/group-by-handling.html

@bjho606 bjho606 added the 리팩토링 리팩토링 관련 label Jan 30, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
리팩토링 리팩토링 관련
Projects
None yet
Development

No branches or pull requests

3 participants