SlideShare a Scribd company logo
ActiveRecordに
ついて
BRANU株式会社 開発部 添川知紘
なぜ今、ActiveRecordなのか?
最近、友人がRubyエンジニアからバックエンドTSエンジニアに転職した際、
「ActiveRecordは本当に便利だった」と熱く語っていたことがきっかけです。
そもそも
ActiveRecord
とは
簡単に言えば、モデルとDBの間のSQL翻訳機!とも言える
モデルとDBの間の仲介役であり、オブジェクト指向プログ
ラミングのアプローチを
データベース操作に適用するためのツール
RubyonRailsフレームワークの一部として
提供されるO/Rマッパー。
Active Recordはこのモデルとデータベ
ースの間で、モデルの操作やクエリをデ
ータベースに対応するSQL文に変換して
実行するものだ。
何がそんなにいいのでしょうか
ActiveRecordメリット
PostgreSQL、MySQL、
SQLiteなど様々なDBに対応
データベース非依存
オブジェクト指向でデータ操
作を記述できるため、コード
が読みやすくなる
可読性と保守性の向上
SQLを直接書く手間を省き、
Rubyのコードだけでデータ
ベース操作が可能
開発効率の向上
ActiveRecordデメリット
シンプルなCRUD操作には非
常に強力ですが、複雑な結
合、サブクエリ、には弱い
柔軟性の制限
Active Recordは、データベ
ースのスキーマに強く依存し
ています
密結合と依存性
N+1問題などが発生しやすい
パフォーマンスボトルネック
ActiveRecordと
もっと仲良くなろよ
もっとエコなコードを書けるようにすること
クエリが発行されるタイミングを理解する
クエリが発行されるタイミングを理解する2
では、どのようにすれば
ActiveRecordと仲良くなれるの?
ActiveRecord
のオブジェクト
は重い
たくさん作るとメモリを大
量に消費します。
Active Recordの
オブジェクトは大きい
find_each を使おう
バッチ処理など、一度にたくさんのオブジェクトを扱わざるを得ないときには
find_eachを使って少しずつモデルオブジェクトを取得しましょう。
length, size, countの
違いを理解して使い分ける
pluckを使おう
ユーザの名前だけほしい、というときにUserオブジェクトを生成するのはメモリの無駄です。
Active Recordにはpluckというメソッドがあり、これはモデルオブジェクトを生成せずに引数のカ
ラム情報だけを取得してくれるので、特定のカラムの値だけほしいときは積極的に活用しましょ
う。
まとめ
ActiveRecordは便利だが、扱いには気をつけたい
ActiveRecordの強みと弱みを理解することの重要性。
ただ動くコードを書くのではなく、パフォーマンスを意識した開発が必要
メソットを使い分けることでアクティブレコードと仲良くなれる

More Related Content

PDF
Storytelling For The Web: Integrate Storytelling in your Design Process
PDF
Artificial Intelligence, Data and Competition – SCHREPEL – June 2024 OECD dis...
PDF
How to Leverage AI to Boost Employee Wellness - Lydia Di Francesco - SocialHR...
PDF
2024 Trend Updates: What Really Works In SEO & Content Marketing
PDF
2024 State of Marketing Report – by Hubspot
PDF
Everything You Need To Know About ChatGPT
PDF
Product Design Trends in 2024 | Teenage Engineerings
PDF
How Race, Age and Gender Shape Attitudes Towards Mental Health
Storytelling For The Web: Integrate Storytelling in your Design Process
Artificial Intelligence, Data and Competition – SCHREPEL – June 2024 OECD dis...
How to Leverage AI to Boost Employee Wellness - Lydia Di Francesco - SocialHR...
2024 Trend Updates: What Really Works In SEO & Content Marketing
2024 State of Marketing Report – by Hubspot
Everything You Need To Know About ChatGPT
Product Design Trends in 2024 | Teenage Engineerings
How Race, Age and Gender Shape Attitudes Towards Mental Health

Recently uploaded (12)

PDF
【2507】インパクト共創室実績
PPTX
データサイエンス研修提案資料 RIZAPビジネスイノベーション株式会社.pptx
PDF
2508_ インパクトレポート会社概要_雨風太陽
PPTX
だれでもサクッと使える!採用ピッチ資料テンプレート(解説付き)_20230529_ver1.pptx
PDF
sustainability_MSOLサステナビリティレポート_202508_日本語版_完成版.pdf
PDF
aidetailseminor111用語解説を徹底的にしまくります。20250814
PDF
東京商工会議所荒川支部で中小企業講演「今日から使える!省力化・効率化に向けた生成AI活用入門」
PDF
【会社紹介資料】株式会社スキルアップ ~エンジニア第一主義!収入・働きやすさ・成長機会でトップクラスを目指す~ 高収入を実現する還元モデル × 自分で選べ...
PDF
世界化学品産業の市場動向と将来展望に関する包括的な調査研究 QYResearch
PDF
202508株式会社なぞるマーケティング組織開発・学習支援サービス_概要資料
PDF
2508slide_townobuse_nagano_chohoobuse.pdf
PDF
受発注バスターズ説明資料  (2025_08_13~) Saleshub掲載用.pdf
【2507】インパクト共創室実績
データサイエンス研修提案資料 RIZAPビジネスイノベーション株式会社.pptx
2508_ インパクトレポート会社概要_雨風太陽
だれでもサクッと使える!採用ピッチ資料テンプレート(解説付き)_20230529_ver1.pptx
sustainability_MSOLサステナビリティレポート_202508_日本語版_完成版.pdf
aidetailseminor111用語解説を徹底的にしまくります。20250814
東京商工会議所荒川支部で中小企業講演「今日から使える!省力化・効率化に向けた生成AI活用入門」
【会社紹介資料】株式会社スキルアップ ~エンジニア第一主義!収入・働きやすさ・成長機会でトップクラスを目指す~ 高収入を実現する還元モデル × 自分で選べ...
世界化学品産業の市場動向と将来展望に関する包括的な調査研究 QYResearch
202508株式会社なぞるマーケティング組織開発・学習支援サービス_概要資料
2508slide_townobuse_nagano_chohoobuse.pdf
受発注バスターズ説明資料  (2025_08_13~) Saleshub掲載用.pdf
Ad
Ad

RailsエンジニアのためのActive Recordの基礎から学ぶ実践的DB連携