概要 原著者の許諾を得て翻訳・公開いたします。 英語記事: 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演算子によってどれほどパフォーマンスが低下するか、およびいくつかの修正方法