-
Notifications
You must be signed in to change notification settings - Fork 4
Open
Labels
Description
무엇을 알게 되었나요?
아무런 설정 없이 JPA 쿼리를 실행하는 경우 쿼리 파라미터가 '?'로 찍힌다.
그동안 개발을 할 때, 쿼리 파라미터가 '?'로 찍히면, 일단 쿼리가 성공했다고 판단하고, 상세 데이터를 DB에 가야지만 확인할 수 있었다.
그런데 아래 방법을 사용해서 스프링부트 실행 콘솔창에서 확인이 가능하다는 사실을 알게되었다.
yml에 추가
logging
.level:
org.hibernate.orm.jdbc.bind: trace외부 라이브러리 - p6spy
implementation 'com.github.gavlyukovskiy:p6spy-spring-boot-starter:1.9.0'
- 먼저, yml에 추가하는 방법은 파라미터 별로 한줄한줄 보여주므로 가시성이 떨어지는 것 같다고 생각된다.
- 따라서 외부 라이브러리 p6spy를 이용해 연관된 파라미터를 묶어서 보여주는 아래 방법을 이용하는게 더 좋아보인다!
주의점
- 쿼리 파라미터를 로그로 남기는 외부 라이브러리는 시스템 자원을 사용하므로, 개발 단계에서는 편하게 사용해도 되지만 운영시스템에 적용하려면 꼭 성능테스트를 하고 사용하는 것이 좋다고 한다.
- 나는 이 라이브러리를 테스트 서버에서 이용하면 좋을 것 같다고 생각이 들었다.
- dev 서버(테스트 서버)에서는 해당 라이브러리-p6psy를 이용해 쿼리 파라미터가 잘 들어가는 지 판단하고, prod 서버(운영 서버)에서는 앞서 테스트를 했기도 했고, 서버 성능을 고려해야 하기에 적용하지 않는 방법도 좋을 것 같다.
어려운 내용이 있었다면 이를 어떻게 해결하였나요?
- 첫번째 섹션은 세팅 부분이라 어려운 부분이 존재하지 않았다.
어떤 자료를 참고하였나요?
- none