概要 原著者の許諾を得て翻訳・公開いたします。 英語記事: Say No to Randos (in Your Database) 原文公開日: 2017/11/29 著者: Richard Schneeman ORM(Object-Relation Mapper、またはObject-Relational Mapper)を初めて使ったとき、「ORMにrandom()メソッドがないのはどうしてなんだろうか?」と不思議に思ったものでした。こんなメソッドなら楽勝で追加できそうなものです。データベースのレコードをランダムに取り出したい理由はいろいろ考えられますが、順序をランダムにしたいレコード数がよほど少ないときでもない限り、SQLのORDER BY RANDOM()でやるべきではありません。本記事では、一見シンプルなSQL演算子によってどれほどパフォーマンスが低下するか、およびいくつかの修正方法
![データベースのランダム読み出しは要注意(翻訳)|TechRacho by BPS株式会社](https://cdn-ak-scissors.b.st-hatena.com/image/square/d09470e27e7a20ac203c9389d2f9ff89c3662bd0/height=288;version=1;width=512/https%3A%2F%2Ftechracho.bpsinc.jp%2Fwp-content%2Fuploads%2F2018%2F02%2Fschneems_com_eyecatch2.png)