Page History
...
이름 | 명령어 |
---|---|
Oracle | set autotrace traceonly |
MSSQL | SET SHOWPLAN_TEXT_ON |
DB2 | EXPLAIN ALL WITH SNAPSHOT FOR SQL 구문 |
PostreSQL | EXPAIN SQL 구문 |
MySQL | EXPLAIN SQL 구문 |
실행계획 시각화
참고:요즘은 대부분, DB Management Tool에서 실행계획 시각화기능을 제공하고 있습니다.
JPA Query Method TO SQL
JPA | SQL |
---|---|
studentList = findByGroupInfoName("학생") | SELECT * FROM user ui left join spring.group_info gi on gi.group_id = ui.group_id and gi.name="학생" |
...
SQL방식이던 JPA방식이던..., 성능에 의심이가는 부분에대해서는 개발방식과는 별개로 측정되고 분석되어야하는
사항입니다.
실행계획 콘솔모드
실행계획 시각화
참고:DB Management Tool에 따라서 실행계획 시각화기능을 제공하기도합니다.(MSSQL)
실행계획의 출력포맺은 DB마다 다르지만 공통적인 3가지요소가 요소가 있습니다.
- 조작대상 객체:
- 객체에 대한 조작의 종류
- 조작 대상이 되는 레코드 수:
- 호출 계층
순차 풀스캔 VS 인덱스 스캔
엔티티의 설계
Code Block | ||||
---|---|---|---|---|
| ||||
@Entity public class User { private String name; @ManyToOne @JoinColumn(name = "GROUP_ID",nullable = true) private GroupInfo groupInfo; } |
...