読者です 読者をやめる 読者になる 読者になる

counter_culture

has_manyの数を数えるやつ(投稿に対してのコメント数とか)、馬鹿正直にクエリ(って言うんだっけ)を投げると処理に時間がかかる。いい方法ないかなと思ったら、counter_cacheってのがあるらしい。

Rails order by results count of has_many association - Stack Overflow

Active Record Associations — Ruby on Rails Guides

でもこのcounter_cache、ぐぐってみると、デッドロックとかいうのが出たりとかするらしい。

で、そこら辺をうまくやるのがcouter_cultureってやつらしい。

件数のキャッシュをcounter_cacheじゃなくてcounter_cultureで - リア充爆発日記

Railsのcounter_cacheを使ったらdeadlockが頻発した - Qiita

magnusvk/counter_culture

なんかカウントに不整合が出たりするって書いてあったりするけど、そこら辺は僕よりもっと頭のいい人がうまく解説してくれると思います。