0
我正在使用Rails,我正在做這樣的事情 - 哪個更有效?哪一個更快的方式來獲取current_user的職位
post = current_user.posts.find(29)
OR
post = Post.where("user_id = ? AND id = ?", user.id, 29).first
我猜第一個語句會做類似SELECT * FROM posts WHERE user_id = x
(CURRENT_USER是一個預設的用戶實例),然後找到職位#29返回數組/行之間;然而,第二個可能會做類似於SELECT * FROM posts WHERE user_id = x AND id = 29 LIMIT 0,1
..是否更快獲取所有,沒有任何標準,然後讓紅寶石搜索返回的數組/行;或者,是標準和限制是更快捷的方法;或者,它取決於桌子的長度/寬度以及無數其他的東西嗎?謝謝
您是否在開發服務器日誌中看到生成的查詢? –