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

ランダムなデータを1件取得する方法

データを一つだけ抽出したいランダム機能的なやつです。

random_number = モデル.pluck(:id).sample←これでランダムな値を取得する
モデル.find(random_number)

以上です。 これが一番早いはずです。

モデル.all.sampleでやってしまうと、すべてのデータを一度検索することに、パフォーマンス的に悪くなります。

どれだけsqlに負荷をかけないようにするのかも重要な話です。