我對ActiveRecord比較陌生,我與Sinatra一起使用。目前,我正在建設小型網站。我沒有遇到任何查詢花費太長時間的問題,但我想知道如何最佳地優化搜索,所以我的網站是可擴展的。如何編寫高效的活動記錄查詢
這是我一直想知道的。 ActiveRecord是否將一個查詢分解爲多個不同於一個函數的函數?
# Single
BlogPost.last(5)
# Broken Down
BlogPost.all.limit(5)
這更像是一個概念性問題:ActiveRecord如何運行搜索?添加更多功能會使搜索效率降低嗎?當查詢分解爲多個函數BlogPost.where(publish: true)
- 假設where(publish: true)
返回五十個結果,而limit
將其限制爲五個。它是否首先找到所有五十個publish: true
,然後在五點之後切斷所有內容,還是足夠聰明以在找到前五個之後停止搜索?