krn*_*krn 14 activerecord ruby-on-rails
我有一个条目ID,popularity必须增加一个.
一个简单的解决方案如下所示:
Tag.find(id).increment!(:popularity)
Run Code Online (Sandbox Code Playgroud)
但是它似乎效率不高,因为我从数据库中选择了整个条目(*)(即使我根本不需要它),然后执行第二个查询来更新它.
有没有更有效的方法来做到这一点?我认为,一个更新语句(没有"select")应该足够了,但是我该怎么写呢?
idl*_*ers 26
Tag.increment_counter :popularity, id
Run Code Online (Sandbox Code Playgroud)
这不仅会跳过选择,而是以原子方式递增.
| 归档时间: |
|
| 查看次数: |
3713 次 |
| 最近记录: |