# 권장 사항

코드를 작성하면서 일관성 유지와 최적화를 위한 권장 사항을 제공합니다.

## 예외 처리는 쿼리 속도가 빠른 순으로

하나의 서비스에서 예외 처리가 두개 이상 존재한다면, 쿼리 처리 속도가 가장 빠른 순으로 로직 순서를 변경하는 것을 권장합니다. 이는 데이터베이스의 리소스를 최대한 적게 사용하기 위함입니다.

쿼리 처리 속도의 정확한 측정이 불가능하다면, WHERE문이 얼마나 복잡한지, FETCH JOIN 대상이 얼마나 많은지 등으로 간접적으로 예상하여 작성하길 바랍니다.

```kotlin
if(쿼리_속도_2ms){
    throw NotFoundException()
}

if(쿼리_속도_7ms){
    throw BadRequestException()
}

if(쿼리_속도_16ms){
    throw NotFoundException()
}
```

## 더티 체킹 이해하기

엔티티 변경사항을 자동으로 감지하여, 데이터베이스에 반영시키는 메커니즘입니다. 이해하고 코드를 작성하는 것을 권장합니다.
