ランダムなデータを1件取得する方法
データを一つだけ抽出したいランダム機能的なやつです。
random_number = モデル.pluck(:id).sample←これでランダムな値を取得する
モデル.find(random_number)
以上です。 これが一番早いはずです。
モデル.all.sampleでやってしまうと、すべてのデータを一度検索することに、パフォーマンス的に悪くなります。
どれだけsqlに負荷をかけないようにするのかも重要な話です。
データを一つだけ抽出したいランダム機能的なやつです。
random_number = モデル.pluck(:id).sample←これでランダムな値を取得する
モデル.find(random_number)
以上です。 これが一番早いはずです。
モデル.all.sampleでやってしまうと、すべてのデータを一度検索することに、パフォーマンス的に悪くなります。
どれだけsqlに負荷をかけないようにするのかも重要な話です。