Rand()替代大型数据库

时间:2013-06-06 08:30:38

标签: php mysql sql random

我有这个查询

$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");

这让它变得更快但是它给了我一个随机的行,然后是另外14行,而不是所有15个来自随机位置,是否有更好的方法来做到这一点?

0 个答案:

没有答案