使用 MySQL 或 PHP 命令返回随机行更好吗?
例如,我有一个product
包含 10 列和 1000000 行的表,并希望从中返回 10 个随机行。
方法一(让MySQL做大部分工作):
$query = mysql_query("SELECT * FROM product WHERE product_id in (SELECT product_id FROM product ORDER BY RAND() LIMIT 10)"); while($results[] = mysql_fetch_row($query));
方法2(让PHP做大部分工作):
$query = mysql_query("SELECT * FROM product"); while($results[] = mysql_fetch_row($query)); shuffle($results); $results = array_slice($results, 0, 10);
方法一好还是方法二好?