現在、私は私のPHPスクリプトでこのクエリを使用しています:選択した行を(本当に)ランダムに並べ替える方法は?
SELECT * FROM `ebooks` WHERE `id`!=$ebook[id] ORDER BY RAND() LIMIT 125;
データベースには、最大で大きな約2500行になりますが、私はORDER BY RAND()
が最終的にデータとして処理時間が遅くなることを読みましたデータベースが大きくなります。
だから私は物事をスムーズに実行するために私のクエリのための代替の方法を探しています。
また、ORDER BY RAND()
は本当に行をランダム化していないことに気付きました。これは、しばしば何度も何度も何度も繰り返すパターンに従うことが多いためです。
本当に行をランダム化する方法はありますか?
'ORDER)'ない 'RAND()'自体、遅くなります。 – hakre
AFAIKは、PHP側のランダム化を行う最良の方法です。例えば、あなたのIDが一貫しているなら、あなたは単にMySQLからカウント(*)を得て、idのいくつかをランダムに選ぶことができます。 – Robus
見てみましょうhttp://stackoverflow.com/questions/1823306/mysql-alternatives-to-order-by-rand – a1ex07