JPA에서 실제 실행 쿼리(SQL) 로그 설정 ON/OFF
- Java/SpringBoot
- 2022. 3. 7. 23:12
스프링부트에서 JPA를 통해 실제로 실행되는 쿼리를 보고 싶다면 ON/OFF 할 수 있는 설정이 있습니다.
위 사진처럼 src/main/resource 디렉토리 아래에 application.properties 파일내에
spring.jpa.show_sql = true
한 줄 추가해 줍시다. 그러면 로그는 나오지만 디폴트로 h2라는 메모리DB 문법이 적용되기 때문에 그 아래줄의
sping.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5InnoDBDialect
한 줄 더 추가해 줍시다. 그러면 위 사진처럼 로그가 나옵니다.
※ 사실 사진은 MySQL5Dialect 이지만 설명은 MySQL5InnoDBDialect라고 하였다.
사진 속에서 3번째 줄을 보면 default storage engine을 innodb로 한다는 한 줄이 추가 되어있다. 그래서 결과는 같다.
원래 디폴트는 MyISAM 엔진이다.
>MyISAM엔진은 Full-text 인덱싱이 장점이라 조회가 빠르지만 나머지 단점이 개인적으로는 큰 거같다...
단점으로 ①Table-level locking, ②트랜젝션 없음, ③무결성 보장못함이 있다.
>InnoDB엔진은 반대로 ①Row-level locking, ②트랜젝션 있음, ③무결성을 보장한다.
단점은 모델 디자인에 시간이 걸리고, Full-text인덱싱이 없으며, 시스템 자원을 더 먹는다는 것.
'Java > SpringBoot' 카테고리의 다른 글
세션 저장소로 데이터베이스 사용하기 (0) | 2022.03.16 |
---|---|
파라미터 어노테이션 생성 (0) | 2022.03.16 |
[JPA] Entity와 Repository (0) | 2022.01.12 |
2021.12.31 Springboot2 build.gradle 백업본 (0) | 2021.12.31 |
[IntelliJ Springboot JUnit 에러] No tests found for given includes (0) | 2021.12.31 |
이 글을 공유하기