У меня есть небольшое сомнение относительно времени выполнения запроса MySQL в моем приложении 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