透過原始 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
表的數據,並與 projects
表格連接。 ActiveRecord::Base.connection.execute(sql)
執行查詢,將結果作為儲存在 records_array
.records_array
的迭代來存取各個記錄。 此方法提供對資料庫互動的更細粒度的控制,可能會加快查詢執行速度並提高應用程式效能。
以上是我什麼時候應該使用原始 SQL 來提高 Rails 應用程式的效能?的詳細內容。更多資訊請關注PHP中文網其他相關文章!