我對我的rails應用程序中MySQL查詢的執行時間有個疑問。使用find_by_sql和我們正常的rails查詢方法有什麼區別?
我已經寫了像
@claims = Claim.joins('left join drugs on claims.ndc = drugs.ndcupchri left join pharmacies on claims.nabp = pharmacies.nabp').select('claims.*, drugs.*, pharmacies.* ').where('claims.member_id = '218').group(:ndc)
查詢和我使用的find_by_sql
@sql = "SELECT claims.*, drugs.*, pharmacies.* FROM `claims`
left join drugs on claims.ndc = drugs.ndcupchri
left join pharmacies on claims.nabp = pharmacies.nabp
WHERE (claims.member_id = '218') GROUP BY ndc "
@claims = Claim.find_by_sql(@sql)
有時候,我看到使用的find_by_sql查詢的執行時間是相當快時相比,寫了相同的查詢到另一個。它是否正確。
當涉及到面向性能時,上述哪種模式是更好的接受方法。請分享你的想法。
當前正在使用Rails 3.0.7