원시 SQL 쿼리로 Rails 성능 향상
상당한 데이터세트가 포함된 복잡한 쿼리의 경우 원시 SQL을 사용하면 특히 요청 시간 초과가 잠재적인 문제가 될 수 있는 Heroku와 같은 플랫폼에서 성능을 크게 향상시킬 수 있습니다. 원시 SQL을 Rails 애플리케이션에 통합하는 방법은 다음과 같습니다.
<code class="language-ruby">sql = "SELECT * FROM payment_details AS pd JOIN projects AS p ON pd.project_id = p.id UNION ALL SELECT * FROM payment_errors AS pe JOIN projects AS p ON pe.project_id = p.id ORDER BY pd.created_at DESC, pe.created_at DESC" records_array = ActiveRecord::Base.connection.execute(sql)</code>
이 코드 조각은 다음을 보여줍니다.
sql
테이블과 결합된 UNION ALL
및 payment_details
테이블의 데이터를 병합하기 위해 payment_errors
을 사용하는 원시 SQL 쿼리(projects
).ActiveRecord::Base.connection.execute(sql)
은 쿼리를 실행하고 결과를 records_array
에 저장된 배열로 반환합니다.records_array
반복을 통해 개별 기록에 접근할 수 있습니다.이 방법은 데이터베이스 상호 작용을 보다 세밀하게 제어할 수 있으므로 잠재적으로 쿼리 실행 속도가 빨라지고 애플리케이션 성능이 향상됩니다.
위 내용은 Rails 애플리케이션의 성능 향상을 위해 언제 원시 SQL을 사용해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!