我有一个条目ID,人气必须
增加一个.
一个简单的解决方案如下所示:
Tag.find(id).increment!(:popularity)
然而,它似乎并不是很有效率,因为我从数据库中选择整个条目(*)(尽管我根本不需要它),然后再执行第二个查询来更新它.
有没有更有效的方法呢?我想,一个更新语句(没有“选择”)应该是足够的,但我该如何写?
Tag.increment_counter :popularity,id
这不仅跳过选择,而且会以原子态递增.
原文链接:https://www.f2er.com/ruby/272568.html