레일즈 3을 준비하려면 코드를 업데이트해야하지만 아래 코드에서 주요 성능 문제가 발생합니다.이 코드가 왜 느린가요?
오래된 코드 (좋은 빠른)
@products = Product.all(
:order => 'name',
:include => [:category, :brand, :merchant]
).paginate(:page => params[:page])
새로운 코드 (10 × 느린)
@products = Product.order("name")
.includes([:category, :brand, :merchant])
.paginate(:page => params[:page])
나는 라인이 쉽게 읽기 중단했다.
DB에 Postgres를 사용하고 있습니다. 아마도 이것이 문제입니까?
이 코드를 더 잘 만들 수있는 다른 팁은 많이 감사하겠습니다.
프로덕션 모드에서 사용해 보셨습니까? – Zepplock
단지 개발이 아닙니다. 구문을 사용하여 실수를 저 지르지 않았습니까? – Zinc
개발 모드가 반드시 속도 최적화되어 있지는 않습니다. 이것은 디버깅 후크 또는 편의 기능이 될 수 있습니다. 느린 이유가 분명하지 않다면 적어도 개발 단계에서 시도해 볼 것입니다. – Chuck