このクエリがあります
$sql = mysql_query("SELECT DISTINCT a, b FROM table ORDER BY RAND() DESC limit 15");
テーブルに数行しかないときはうまく機能しましたが、今ではテーブルが数千になるため、ページの読み込みが非常に遅くなります。
私が試してみました
$s = mysql_query("SELECT id FROM table");
$z = mysql_num_rows($s);
$n = rand(1,$z);
$sql = mysql_query("SELECT DISTINCT a, b FROM table limit $n, 15");
これにより少し速くなりますが、ランダムな行が得られ、15個すべてがランダムな場所からではなく、さらに14個続きます。これを行うより良い方法はありますか?