我想使用find_by_sql方法代替活動記錄查詢接口,因爲我在編寫自己的SQL時獲得了靈活性。Rails - find_by_sql vs活動記錄查詢
例如,
它被認爲是在SQL一個很好的做法在查詢訂購表從最小到最大。在使用活動記錄查詢接口時,您必須從可能是最大表格的結果模型開始。
我也可以很容易地通過在所述目標表連接本身和包括從多個表中所需的列避免N + 1的問題。
我想知道是否有原因,我不應該使用的find_by_sql選項,特別是當我會寫ANSI SQL,應該是與所有兼容的,如果不是大多數的數據庫。
謝謝!
在處理了數百萬行數據之後,我決定花時間編寫自己的SQL進行優化是不值得的。 ActiveRecrod已經足夠好了,對於我來說,有好幾百萬行數據對我來說足夠好。 –
好的,謝謝。例如,當您使用includes時,它會在IN子句後面創建另一個SQL。 AFAIK,使用「where IN」應該創建桌面掃描,因此不鼓勵。 –