ホームページ > データベース > mysql チュートリアル > Raw SQL クエリはどのように Rails アプリケーションのパフォーマンスを向上させることができますか?

Raw SQL クエリはどのように Rails アプリケーションのパフォーマンスを向上させることができますか?

Patricia Arquette
リリース: 2025-01-15 08:08:44
オリジナル
428 人が閲覧しました

How Can Raw SQL Queries Enhance Rails Application Performance?

ネイティブ SQL を使用して Rails アプリケーションのデータ取得効率を最適化します

Heraku などのデプロイメント環境でパフォーマンスのボトルネックが発生した場合は、ネイティブ SQL クエリを使用して Rails アプリケーションを最適化することを検討してください。これにより、速度が大幅に向上し、リクエストのタイムアウトが短縮されます。

次の Rails コードをネイティブ SQL クエリに変換する方法を見てみましょう:

<code class="language-ruby">@payments = PaymentDetail.joins(:project).order('payment_details.created_at desc')
@payment_errors = PaymentError.joins(:project).order('payment_errors.created_at desc')

@all_payments = (@payments + @payment_errors)</code>
ログイン後にコピー

ネイティブ SQL を使用してこのクエリを実行するには、次の手順に従ってください:

<code class="language-ruby"># 编写原生SQL查询
sql = "SELECT * FROM payment_details
JOIN projects ON payment_details.project_id = projects.id
UNION
SELECT * FROM payment_errors
JOIN projects ON payment_errors.project_id = projects.id
ORDER BY created_at DESC;"

# 直接在数据库上执行SQL查询
records_array = ActiveRecord::Base.connection.execute(sql)</code>
ログイン後にコピー

Results records_array は、SQL クエリの結果を含む配列になります。これらのレコードを反復処理してさらに処理することができます。このアプローチは ActiveRecord ORM レイヤーをバイパスするため、パフォーマンスが大幅に向上する可能性があります。

以上がRaw SQL クエリはどのように Rails アプリケーションのパフォーマンスを向上させることができますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート