首頁 > 資料庫 > mysql教程 > 如何透過執行原始 SQL 查詢來最佳化 Rails 效能?

如何透過執行原始 SQL 查詢來最佳化 Rails 效能?

Linda Hamilton
發布: 2025-01-15 07:17:44
原創
997 人瀏覽過

How Can I Optimize Rails Performance by Executing Raw SQL Queries?

在Rails 中執行原始SQL 查詢

要提高Rails 應用程式的效能,您可以考慮使用原始SQL 查詢,尤其是在Heroku 上要求容易出現逾時錯誤的地方。讓我們探討如何將特定程式碼片段轉換為原始 SQL:

@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)
登入後複製

此程式碼將兩個關聯(@ payments 和 @ payment_errors)組合到 @all_ payment 中。要作為原始 SQL 執行此查詢,您可以使用以下步驟:

sql = "SELECT * FROM payment_details
        JOIN projects ON payment_details.project_id = projects.id
        ORDER BY payment_details.created_at DESC
        UNION
        SELECT * FROM payment_errors
        JOIN projects ON payment_errors.project_id = projects.id
        ORDER BY payment_errors.created_at DESC;"

records_array = ActiveRecord::Base.connection.execute(sql)
登入後複製

產生的 reports_array 將包含從 SQL 查詢取得的記錄數組,讓您根據需要迭代它們。這種方法比原始 Ruby 程式碼更快,因為它繞過了 Rails 的 ORM 層,直接存取資料庫。

以上是如何透過執行原始 SQL 查詢來最佳化 Rails 效能?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板