1

このクエリがあります

$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個続きます。これを行うより良い方法はありますか?

4

0 に答える 0