タグ

関連タグで絞り込む (2)

タグの絞り込みを解除

lockとactive_recordに関するkshibata101のブックマーク (1)

  • ActiveRecordのfind_or_create_byが投げるクエリを検証した - maco's life

    RubyORMのActiveRecordにfind_or_create_byというメソッドがある。このメソッドはデータがあったらselectした結果が返ってきて、ない場合はinsertをしてその結果を返してくれるという夢のような機能を実現してくれているらしい。 このデータがあったらselect、ない場合はinsertのような処理は扱うときによく考えないとロック周りでDBが詰まってつらい思いすることがある。そこでこのメソッドはどんなクエリを投げるのか検証してみた。 検証方法 ActiveRecord::Baseを系統したGamePlayCountモデルに対してrails cで操作を行う。 GamePlayCountは対象のgame_idを遊ぶとcountを++していくテーブルだと仮定する。 テーブル構造はこんな感じ。 CREATE TABLE `game_play_counts` ( `i

    ActiveRecordのfind_or_create_byが投げるクエリを検証した - maco's life
  • 1