반응형

우아한콘서트 2

[Querydsl] 성능개선 - 3편 ( group by, 커버링 인덱스, update )

이 글은 우아한 형제들 콘서트에서 이동욱님의 영상을 보고 정리를 위한 글입니다. 이 글에 작성된 예시는 모두 Github에 올려두었습니다. Group By 최적화 Mysql 사용 시 index가 걸려있지 않는 컬럼을 group by 할 경우 file sort가 발생합니다. Index가 걸려있지 않는 경우 select * from house group by name Index가 걸려있는 경우 select * from house group by id file sort가 발생하면 성능이 떨어질 수 밖에 없습니다. 이 경우 order by 절에 null을 넣으면 file sort가 발생하지 않습니다. select * from house group by name order by null 하지만 안타깝게도 Quer..

Develop/spring-data 2021.02.04

[Querydsl] 성능 개선 1편

이 글은 우아한 형제들 콘서트에서 이동욱님의 영상을 보고 정리를 위한 글입니다. 이 글에 작성된 예시는 모두 Github에 올려두었습니다. 1. 동적 쿼리 사용 시 BooleanExpression을 사용하자! Querydsl에서 동적쿼리 사용방법은 조건문에 null을 넣으면 조건문이 무시되는 방법을 사용하면 됩니다. public Staff dnamicQuery(String name) { return queryFactory .selectFrom(staff) .where(name == null ? null : name) .fetchOne(); } 위처럼 코드를 작성한다고 가정했을 때 동적 조건이 많아진다면 쿼리는 매우 복잡해질 것입니다. 그래서 BooleanExpression을 리턴하는 메소드를 생성하여 사..

Develop/spring-data 2021.01.29
728x90
반응형