生の 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 中国語 Web サイトの他の関連記事を参照してください。