Techioz Blog

ApplicationRecord の find() メソッドの実行効率 O(1)?

概要

Rails アプリケーションでモデル ファイルを作成すると、結果として得られるクラスが ApplicationRecord インターフェイスを実装します。 ApplicationRecord に関するドキュメントが見つかりません。唯一出てくるのは ActiveRecord ですが、これは以前の非推奨のバージョンだと思います。ドキュメントを見ても、これがどのようなデータ構造になっているのかわかりません。これで find() を呼び出すには、データの量に関係なく常に一定の時間がかかると仮定して正しいですか?

解決策

ApplicationRecord は、Rails クラスにモンキーパッチを適用することなく、すべてのモデルに何かを追加できるようにする、Rails アプリ内で生成される単なるローカル基本クラスです。 app/models/application_record.rb を見てください。

そう、モデルのドキュメントは ActiveRecord ドキュメントにあります。また、さまざまなモデル ガイドも優れたリソースです。

DB/スキーマ/インデックスなどによって異なります。