はじめまして、みんなのウェディングのエンジニアの大須賀です。 「みんなのウェディング Advent Calendar 2017」の13日目の記事です。 とあるプルリクエストで、「order by rand()が使われていたので、to_aしてshuffleしました」という修正があったのを見て思ったことを書きます。 なぜ、order by rand()を使わないほうがいいのか まず「“Do not use ORDER BY RAND()” or “How to get random rows from table?”」 を読むのが良いと思います。日本語訳してくれている方もいるので、「ORDER BY RAND() 使うな」 のほうが読み易いです。 はい、読みましたね。使うなという理由は簡単で遅いからです。 ですから、使わないように修正するのは良いことだと思います。でも、修正の方法が良くなさそう