タグ

ブックマーク / qiita.com/as_a_mix (1)

  • Rails4 ActiveRecordでatomicなSQLでincrementするハック - Qiita

    Rails4 ActiveRecordでatomicにincrementしたい ボタンが押された回数をカウントしたり、特定ページのPVをカウントしたりと、大量にカウントしたい場合、とか、こういうatomicなSQLで効率よくカウントしたいですよね。 UPDATE `pages` SET `viewed_number` = COALESCE(`viewed_number`, 0) + 1, `updated_at` = now() WHERE `pages`.`id` = 1 普通にincrement!を使うとカウントが漏れる RailsというかActiveRecordをみると、「increment!」っていう如何にもなネーミングのメソッドがありまして、これでいいだろうと思っていたのですが、、、、呼び出し時のSQLをよく見てみると

    Rails4 ActiveRecordでatomicなSQLでincrementするハック - Qiita
  • 1